为了在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
中
在教程中没有进一步的建议,所以我不确定这一步的目的是什么。
答案 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一样工作...只需将它们解压缩到文件系统的任何位置,然后使用里面的可执行文件启动应用程序。
我没有尝试过这个特殊的例子,但我正在处理我的工作的项目遵循这个演示几乎完全使用的模式。
祝你好运!