Gradle Liferay 7服务模块未解决的要求

Gradle Liferay 7服务模块未解决的要求,gradle,liferay,osgi,bnd,liferay-7,Gradle,Liferay,Osgi,Bnd,Liferay 7,我正在为Liferay 7开发一些功能。我知道它仍然是beta版,但我在OSGi包依赖性方面遇到了一些问题。当我尝试部署服务项目时,部署时发生错误 未解决的需求:导入包:com.liferay.asset.kernel.model;version=“[1.0.0,2.0.0)” 其他类似expando导入包的情况也一样 问题是,在我的EclipseMars中没有错误,在依赖项中,我可以在Jar com.liferay.portal.kernel中找到clas,我不知道为什么会抛出这个错误 在我的

我正在为Liferay 7开发一些功能。我知道它仍然是beta版,但我在OSGi包依赖性方面遇到了一些问题。当我尝试部署服务项目时,部署时发生错误

未解决的需求:导入包:com.liferay.asset.kernel.model;version=“[1.0.0,2.0.0)”

其他类似expando导入包的情况也一样

问题是,在我的EclipseMars中没有错误,在依赖项中,我可以在Jar com.liferay.portal.kernel中找到clas,我不知道为什么会抛出这个错误

在我的身材中,我有这种依赖

编译'com.liferay.portal:com.liferay.portal.kernel:2.1.0'

我的bnd文件包含以下内容:

 Bundle-Version: 1.0.0 
Liferay-Service: true
Require-Capability: liferay.extender;filter:="(&(liferay.extender=spring.extender)(version>=1.0)(!(version>=3.0)))"
Liferay-Require-SchemaVersion: 1.0.0
Liferay-Spring-Context: META-INF/spring
-sources: true
Import-Package: \
    com.liferay.portal.service;version="7.0.0",\
    com.liferay.portal.kernel;version='2.1.0',\
    org.osgi.framework;version="[1.7,2)",\
    *
有人知道从哪里看那些限制在1.0.0到2.0.0之间的运行时依赖关系在哪里吗

任何帮助都是受欢迎的,因为我浪费了很多时间,我真的是这方面的新手

我想我正在处理这个问题,但出现了一个新问题…当我在我的服务项目中执行buildService时,它会创建所有内容,但问题是它在SqlUpdateFactoryUtil中创建错误,给出的参数与7.0的API不同,因此引发的错误是:

SqlUpdate sqlUpdate = SqlUpdateFactoryUtil.getSqlUpdate(dataSource,
                                                      ^
  required: DataSource,String,int[]
  found: DataSource,String
  reason: actual and formal argument lists differ in length

因此,我猜service builder插件与我的jars版本不同步,您使用的是工件的2.1.0版
com.liferay.portal:com.liferay.portal.kernel

但是,有人用版本[1.0.0,2.0.0]声明此工件的运行时依赖项:大于或等于1,并且严格小于2。无法解析此版本,因为2.1大于2


您应该检查清单以修复此依赖关系,或者更好地使用工具(如bnd)生成此清单。

回答我自己以及所有面临相同问题的人

重点是一系列问题

  • Elipse Mars不会自动刷新Jars依赖项,您需要使用“渐变-->刷新渐变项目”选项
  • 依赖项的用法不好。由于我是初学者,我使用了错误的依赖项,并尝试导入内核,但门户服务7.0.0就足够了
现在,我的三个项目(服务、api和web)都已正确部署并处于活动状态


现在,我在尝试在同一个protect多个MVCPortlet类别中包含其他问题。但这是另一场战争。

将这一行添加到bnd.bnd文件中,这将解决您的问题:

Import-Package: *; version="0";resolution:=optional

感谢您的回复…我不知道在哪里查找。我添加了我的bnd文件内容。我有gogo shell,但不知道在哪里更新依赖项或其他内容。