2016-09-05 49 views
1

我正在转换Subclipse以使用Eclipse Tycho和Maven构建。Eclipse插件与第三方库的Maven依赖关系

Subclipse依赖于几个不是Eclipse插件的第三方JAR文件,因此不存在于任何p2存储库中。目前,我只是将这些包含在插件中的lib文件夹中。

由于这些JAR文件确实存在于Maven中,我希望通过将插件转换为使用Maven构建,我可以使用Maven依赖关系。 IOW,插件会有一个pom.xml,我使用Maven依赖来获取并包含必须包含在插件中的第三方jar。基本上,它会自动刷新我包含在插件的lib文件夹中的内容。

这可能吗?当我尝试做我上面所说的时,我没有看到Maven/Tycho试图获取依赖关系的迹象。我想这是因为当封装是eclipse-plugin时,它只能看到Eclipse配置文件中的依赖信息。

谢谢

回答

0

要增加普通(无OSGi的元数据)jar文件保存到biuild时间的文件夹中,您可以指定maven-dependency-plugin<execution>来获取它们。但是,每当版本发生变化时,都需要更新MANIFEST.MF Bundle-Classpath指令。

寻找OSGi-jar或通过额外的努力将现有的库打包为Eclipse Orbit或JBoss Tools Locus等OSGi bundle/p2工件通常会更好。

+0

我是这种情况我维护第三方库并发布工件。是否容易让Maven为每个jar构建一个OSGI工件并同时发布?任何指针? –

+0

您必须使用'maven-bundle-plugin',以便根据您使用的软件包为您生成MANIFEST.MF。然后,您可以按照https://wiki.eclipse.org/Tycho/Target_Platform#.22POM_dependencies_consider.22中的说明使用Tycho中的Maven OSGi包 – Mickael

0

您是否在将依赖关系添加到pom.xml文件后尝试执行以下操作?

  • 项目 - >清洁
  • 右键单击项目:Maven->更新依赖
  • 右键单击项目:Maven->更新项目配置