【发布时间】:2018-10-25 08:02:08
【问题描述】:
我是 Liferay 的新手。对于我的第一个项目,我需要创建一个使用第三方库的模块。 这个库是由一所大学开发的,不经常使用,所以它不在任何 maven repo 或任何东西上。因此,我将它复制到我的 Liferay 项目中,并试图弄清楚如何解决依赖问题。 我读了无数的线程条目和博客,但我还是有点困惑。
我希望有人能指出正确的方向来解决我的问题。
模块的build.gradle
dependencies {
compileOnly group: "com.liferay.portal", name: "com.liferay.portal.kernel", version: "2.0.0"
compileOnly group: "com.liferay.portal", name: "com.liferay.util.taglib", version: "2.0.0"
compileOnly group: "javax.portlet", name: "portlet-api", version: "2.0"
compileOnly group: "javax.servlet", name: "javax.servlet-api", version: "3.0.1"
compileOnly group: "jstl", name: "jstl", version: "1.2"
compileOnly group: "org.osgi", name: "osgi.cmpn", version: "6.0.0"
compile files('lib/openBIS-API-V3-16.05.7-r1522065804.jar')
}
settings.gradle
buildscript {
dependencies {
classpath group: "com.liferay", name: "com.liferay.gradle.plugins.workspace", version: "1.5.0"
classpath group: "net.saliman", name: "gradle-properties-plugin", version: "1.4.6"
}
repositories {
maven {
url "https://cdn.lfrs.sl/repository.liferay.com/nexus/content/groups/public"
}
}
}
apply plugin: "net.saliman.properties"
apply plugin: "com.liferay.workspace"
bnd.bnd
Bundle-Name: my-dbdisplayer-project
Bundle-SymbolicName: de.mpi.prototype.dbdisplayer
Bundle-Version: 1.0.0
Export-Package: \
de.mpi.prototype.dbdisplayer.constants,\
Conditional-Package: \
ch.*
Bundle-Classpath:\
.,\
lib/openBIS-API-V3-16.05.7-r1522065804.jar
-includeresource:\
lib/openBIS-API-V3-16.05.7-r1522065804.jar
我使用 blade deploy
部署模块时的终端输出BUILD SUCCESSFUL
Total time: 1.768 secs
stop 505
update 505 file:/home/liferay/MPI/liferay-prototype/modules/my-dbdisplayer-project/build/libs/de.mpi.prototype.dbdisplayer-1.0.0.jar
start 505
org.osgi.framework.BundleException: Could not resolve module: de.mpi.prototype.dbdisplayer [505]
Unresolved requirement: Import-Package: ch.ethz.sis.openbis.generic.asapi.v3
Updated bundle 505
【问题讨论】:
-
start at
Unresolved requirement: Import-Package: ch.ethz.sis.openbis.generic.asapi.v3是否在您的类路径中,在依赖项中的任何位置,尤其是它们的导出?另外,请阅读meta.stackexchange.com/questions/141823/… 并采取相应措施 -
进口包装:*
-
抱歉,我不知道交叉发布。 @OlafKock 的.jar 文件与项目的源文件夹在同一级别的文件夹中。
-
@Victor 不幸的是,这并没有改变任何东西..
-
你有没有考虑为它构建一个超级捆绑包?
标签: liferay osgi build.gradle liferay-7 bnd