如何运行RCP Maven / Tycho应用程序

时间:2012-04-13 09:41:08

标签: java maven rcp tycho

为了在CI服务器(jenkins)上运行我的应用程序,我正在尝试创建一个无头构建。

为了做到这一点,我正在关注Eclipse Con Tutorial并进行一些细微的更改(使用Indigo而不是Eclipse 4),可以在这里找到:https://github.com/jsievers/tycho-demo/tree/master/exercises

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

我尝试了java -jar mail-1.0.0-SNAPSHOT.jar,导致以下失败:

  

没有主要的清单属性,在mail-1.0.0-SNAPSHOT.jar

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

2 个答案:

答案 0 :(得分: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 :(得分: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一样工作...只需将它们解压缩到文件系统的任何位置,然后使用里面的可执行文件启动应用程序。

我没有尝试过这个特殊的例子,但我正在处理我的工作的项目遵循这个演示几乎完全使用的模式。

祝你好运!