使用tycho maven将JRE与基于RCP插件的应用程序捆绑在一起
我有基于插件模型的RCP应用程序。 我想把JRE放到由Maven + Tycho创建的最终工件上。 我试着遵循这些推荐
包括-A-JRE-IN-A-第谷建造
捆绑的JRE,沿与-您的产品
我创建了另一个function项目,其中将所需的JRE放在function项目的根目录中。 在我的情况下这个jre / win64。 我为产品定义添加了function。 但我不明白如何通知maven进程负责在我的function项目中创建有关JRE的产品分发我的构建属性文件是
bin.includes=feature.xml root.win32.win32.x86_64= ./jre/win64
我还创建了新的pom.xml并添加到父pom.xml我使用tycho 1.1.0和Eclipse Neon.3作为平台
对于我的开源Eclipse RCP e4应用程序,我正在捆绑由Azul提供的OpenJDK二进制文件。 查看构建Eclipsefunction的Github项目 。
简而言之,它使用上面提到的博客文章中概述的想法, 包括在Tycho构建中的JRE 。 使用根文件的优点是可以通过P2更轻松地更新JRE(在根文件的情况下,Windows上运行的JRE可能会阻止使用更新的JRE替换)。
该存储库中的Tycho构建可以:
- 从Zulu下载JDK版本
- 使用适当的
setJvm
p2接触点指令创建捆绑包 - 使用所有JRE包和存储库创建一个function,以便在其他构建中使用
- 创建具有自更新function的RCP e4应用程序,以测试打包的JRE
在RCP产品中使用此function不仅仅是将function添加到产品定义中: