2012-04-13 60 views
3

为了在CI服务器上运行我的应用程序(jenkins),我试图创建一个无头构建。如何运行RCP Maven/Tycho应用程序

为了做到这一点,我有一些细微的变化(而不是使用Eclipse的4靛蓝),它可以在这里找到以下Eclipse的精读教程:https://github.com/jsievers/tycho-demo/tree/master/exercises

我能够完成第一部分(WASN真的很难,mvn干净安装),但现在我结束了一个目标文件夹和一个名为我的项目的jar文件:mail-1.0.0-SNAPSHOT.jar,但我很困惑,因为我无法运行它。

我已经试过java -jar mail-1.0.0-SNAPSHOT.jar,产生以下故障:

无主清单属性,在邮件-1.0.0-SNAPSHOT.jar

在本教程中,没有进一步的建议所以我不确定这一步的目的是什么。

回答

3

看来,你试图运行的文件只是一个OSGi包。

RCP应用程序构建的最终工件应该是ZIP文件,而不仅仅是JAR。如果您使用tycho-demo,请尝试查看tychodemo.product子项目。 mvn clean install后,您会发现一些ZIP文件,如tychodemo.product-linux.gtk.x86_64.zip在其目标/产品文件夹中。可执行文件与所有必需的依赖关系(即平台相关)打包在一起。

要将您的软件包包含到您的Tycho RCP产品中,只需将其添加到pom.xml中,就如同使用tychodemo.bundle

1

我不确定你正在使用哪个演示代码的哪一部分,但是我非常肯定,在运行'mvn clean install'之后,它的唯一部分将会为你提供一个可用的RCP应用程序一个名为“Exercise_05_Solution”

从那里,您必须导航到驻留在tychodemo.parent中的pom.xml文件,然后在该pom.xml文件上运行'mvn clean install'。

生成的输出在Eclipse RCP应用程序将位于

.../tychodemo.repository/target/products/*.zip 

这些zip文件的工作就像Eclipse一样......只是解压缩他们的任何地方你的文件系统上,并使用可执行启动应用程序内。

我还没有尝试过这个具体的例子,但我在我的工作中正在进行的项目遵循这个演示几乎完全使用的模式。

祝你好运!