使用 Maven 管理 Eclipse 插件项目的依赖项

Sou*_*Sou 5 java eclipse dependencies eclipse-plugin maven

我正在尝试使用 Maven 来管理我的插件项目的依赖项。POM.xml 中正确说明了依赖关系。尽管如此,我还是得到了例外:

java.lang.NoClassDefFoundError

这是解决 Eclipse 插件项目依赖关系的正确方法吗?

gre*_*449 1

Eclipse 插件必须使用插件的 MANIFEST.MF 中的Require-Bundle或语句来指定其依赖项。Import-Package

插件只能依赖于其他插件。

如果您想使用不是插件的 jar,则必须将其包含在插件中并包含在Bundle-ClasspathMANIFEST.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
Run Code Online (Sandbox Code Playgroud)

匹配 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
Run Code Online (Sandbox Code Playgroud)

  • 那么没有办法使用maven吗? (2认同)
  • 我将 jar 添加到 Bundle-Classpath 中。插件没有问题。即使我仍然有“java.lang.NoClassDefFoundError”。 (2认同)