我正在尝试使用 Maven 来管理我的插件项目的依赖项。 POM.xml 中正确说明了依赖关系。尽管如此,我还是得到了异常(exception):
java.lang.NoClassDefFoundError
这是解决Eclipse插件项目依赖关系的正确方法吗?
最佳答案
Eclipse 插件 必须使用 Require-Bundle
或 Import-Package
插件的 MANIFEST.MF 中的语句来指定它们的依赖项。
插件只能依赖于其他插件。
如果你想使用一个不是插件的jar,它必须包含在插件中并包含在Bundle-Classpath
中。在 MANIFEST.MF 中。您还必须更新 build.properties
文件以在插件构建中包含 jar。
示例 MANIFEST.MF 提取,在插件中包含 3 个 jar:
Require-Bundle: greg.music.core;bundle-version="1.0.0",
greg.music.resources;bundle-version="1.0.0",
org.eclipse.core.runtime,
javazoom.jlgui.basicplayer,
org.eclipse.e4.core.services;bundle-version="2.0.100"
Bundle-ClassPath: .,
lib/jogg-0.0.7.jar,
lib/jorbis-0.0.15.jar,
lib/vorbisspi1.0.2.jar
Import-Package: javax.annotation;version="1.0.0",
javax.inject;version="1.0.0",
org.eclipse.e4.core.di.annotations
匹配 build.properties
source.. = src/
output.. = bin/
bin.includes = META-INF/,\
.,\
plugin.properties,\
plugin.xml,\
lib/jogg-0.0.7.jar,\
lib/jorbis-0.0.15.jar,\
lib/vorbisspi1.0.2.jar
关于java - 使用 Maven 管理 Eclipse 插件项目的依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62049767/