具有第三方库的 Maven 依赖项的 Eclipse 插件
Eclipse plugin with Maven dependencies for third party libraries
我正在转换 Subclipse 以使用 Eclipse Tycho 和 Maven 进行构建。
Subclipse 依赖于一些非 Eclipse 插件的第三方 JAR 文件,因此不存在于任何 p2 存储库中。目前,我只是将它们包含在插件的 lib 文件夹中。
由于这些 JAR 文件确实存在于 Maven 中,我希望通过将插件转换为使用 Maven 构建,我可以使用 Maven 依赖项。 IOW,该插件将有一个 pom.xml,我在其中使用 Maven 依赖项来获取并包含必须包含在插件中的第三方 jar。基本上,它会自动刷新我在插件的 lib 文件夹中包含的内容。
这可能吗?我在构建时尝试按照上面所说的进行操作,但没有看到 Maven/Tycho 试图获取依赖项的迹象。我想这是因为当打包为 eclipse-plugin 时,它只查看 Eclipse 配置文件以获取依赖信息。
谢谢
您是否在将依赖项添加到 pom.xml 文件后尝试执行以下操作?
- 项目->清理
- 右键单击项目:Maven->更新依赖项
- 右键单击项目:Maven->更新项目配置
要在 biuild 时将普通(没有 OSGi 元数据)jar 文件添加到您的文件夹中,您可以指定 maven-dependency-plugin
的 <execution>
来获取它们。但是,只要版本发生变化,它就需要更新您的 MANIFEST.MF Bundle-Classpath
指令。
通常最好寻找支持 OSGi 的 jar 或额外努力将现有库打包为 OSGi bundles/p2 工件,例如 Eclipse Orbit 或 JBoss Tools Locus。
只需将插件添加到 pom 依赖项并在 target-platform-configuration
的配置中包含条目 <pomDependencies>consider</pomDependencies>
即可。
<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>
引用 link here.
我正在转换 Subclipse 以使用 Eclipse Tycho 和 Maven 进行构建。
Subclipse 依赖于一些非 Eclipse 插件的第三方 JAR 文件,因此不存在于任何 p2 存储库中。目前,我只是将它们包含在插件的 lib 文件夹中。
由于这些 JAR 文件确实存在于 Maven 中,我希望通过将插件转换为使用 Maven 构建,我可以使用 Maven 依赖项。 IOW,该插件将有一个 pom.xml,我在其中使用 Maven 依赖项来获取并包含必须包含在插件中的第三方 jar。基本上,它会自动刷新我在插件的 lib 文件夹中包含的内容。
这可能吗?我在构建时尝试按照上面所说的进行操作,但没有看到 Maven/Tycho 试图获取依赖项的迹象。我想这是因为当打包为 eclipse-plugin 时,它只查看 Eclipse 配置文件以获取依赖信息。
谢谢
您是否在将依赖项添加到 pom.xml 文件后尝试执行以下操作?
- 项目->清理
- 右键单击项目:Maven->更新依赖项
- 右键单击项目:Maven->更新项目配置
要在 biuild 时将普通(没有 OSGi 元数据)jar 文件添加到您的文件夹中,您可以指定 maven-dependency-plugin
的 <execution>
来获取它们。但是,只要版本发生变化,它就需要更新您的 MANIFEST.MF Bundle-Classpath
指令。
通常最好寻找支持 OSGi 的 jar 或额外努力将现有库打包为 OSGi bundles/p2 工件,例如 Eclipse Orbit 或 JBoss Tools Locus。
只需将插件添加到 pom 依赖项并在 target-platform-configuration
的配置中包含条目 <pomDependencies>consider</pomDependencies>
即可。
<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>
引用 link here.