带有Maven依赖关系的Eclipse插件,用于第三方库

时间:2016-09-05 20:49:31

标签: eclipse maven tycho

我正在使用Eclipse Tycho和Maven将Subclipse转换为构建。

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

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

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

由于

3 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

要在biuild时将普通(没有OSGi元数据)jar文件添加到您的文件夹中,您可以指定<execution> maven-dependency-plugin来获取它们。但是,只要版本发生变化,就需要更新MANIFEST.MF Bundle-Classpath指令。

通常最好是寻找OSGi-jar,或者额外努力将现有的lib打包为OSGi捆绑/ p2工件,如Eclipse Orbit或JBoss Tools Locus。

答案 2 :(得分:0)

只需将插件添加到pom依赖项中,并在<pomDependencies>consider</pomDependencies>的配置中包含条目target-platform-configuration即可使其工作。

<plugins>
    <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>target-platform-configuration</artifactId>
        <version>${tycho.version}</version>
        <configuration>
            <!-- The configuration to make tycho consider the maven dependencies -->
            <pomDependencies>consider</pomDependencies> 
            <!-- other configurations -->
        </configuartion>
    </plugin>
    <!-- other plugins-->
</plugins>
<dependencies>
    <!-- An example third-party bundle (plugin) present in maven repository-->
    <dependency>
        <groupId>org.apache.felix</groupId>
        <artifactId>org.apache.felix.gogo.shell</artifactId>
        <version>1.1.0</version>
    </dependency>
</dependencies>

参考链接here