我正在尝试创建一个自包含的可执行jar,我正在使用Eclipse Indigo和Maven。在我的代码中,我使用了许多来自eclipse插件jar的类,在IDE中我可以添加(称jars)到构建路径以使其类可用。但是,为了创建自包含的可执行jar,我需要将这些jar添加为maven依赖项(在pom.xml中)。
是否可以将这些eclipse-plugin jar(也称为“Eclipse bundle”或“OSGi bundle”)添加为Maven中的依赖项?
我正在使用的eclipse-plugin jar的例子:
org.eclipse.emf.common_2.6.0.v20100914-1218.jar
org.eclipse.emf.ecore.xmi_2.5.0.v20100521-1846.jar
org.talend.dataquality_5.4.1.r111943.jar
提前致谢
答案 0 :(得分:2)
这取决于,但总的来说是的。 OSGi包是普通的JAR文件,因此您可以像任何其他JAR文件一样将它们添加到项目中。只要写下相应的Maven依赖,让我们说:
<dependency>
<groupId>your.group.id</groupId>
<artifactId>yourArtifact</artifactId>
<version>1.0.0</version>
</dependency>
如果JAR文件存在于公共中央Maven存储库中,这已经足够了(顺便说一句:你在那里查找过你的捆绑包吗?)。如果没有,您必须添加捆绑包所在的存储库,或者您必须将JAR添加到笔记本电脑上的区域设置Maven存储库中:
mvn install:install-file \
-Dfile=<path-to-file> \
-DgroupId=<group-id> \
-DartifactId=<artifact-id> \
-Dversion=<version> \
-Dpackaging=<packaging> \
-DgeneratePom=true
这就是全部。但是:你在开发一个OSGi插件吗?还是一个OSGi应用程序?如果是的话,可能会有点困难,因为OSGi和Maven不能很好地协同工作。在这种情况下,您应该提供更多信息并查看BND工具。