使用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添加到产品定义中: