我正在为 Liferay 7 开发一些功能。我知道仍处于 beta 版本,但我在 OSGi 包依赖项方面遇到了一些麻烦。当我尝试部署服务项目时,部署时发生错误
未解决的需求:Import-Package: com.liferay.asset.kernel.model;版本="[1.0.0,2.0.0)"
Anda 与其他类似 expando 导入包的情况相同。
问题是在我的 Eclipse Mars 中没有错误,在 Dependencies 中我可以找到 Jar com.liferay.portal.kernel 中的类,我不知道为什么会抛出该错误。
在我的 build.gradle 我有这种依赖
编译'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
所以我猜服务构建器插件与我的 jar 版本不同步