为了在 CI 服务器 (jenkins) 上运行我的应用程序,我正在尝试创建一个 headless 构建。
为了做到这一点,我按照 Eclipse Con 教程做了一些小改动(使用 Indigo 而不是 Eclipse 4),可以在这里找到:https://github.com/jsievers/tycho-demo/tree/master/exercises
我能够完成第一部分(并不难,mvn clean install)但现在我得到了一个目标文件夹和一个名为我的项目的 jar 文件:mail-1.0.0-SNAPSHOT.jar 但是我很困惑,因为我无法运行它。
我已经尝试过 java -jar mail-1.0.0-SNAPSHOT.jar
,它会产生以下故障:
no main manifest attribute, in mail-1.0.0-SNAPSHOT.jar
教程中没有进一步的建议,所以我不确定这一步的目的是什么。
最佳答案
看来,您尝试运行的文件只是一个 OSGi 包。
RCP 应用程序构建的最终 Artifact 应该是一个 ZIP 文件,而不仅仅是一个 JAR。如果您使用 tycho-demo,请尝试查看 tychodemo.product 子项目。在 mvn clean install 之后,您会在其 target/products 文件夹中找到一些 ZIP 文件,例如 tychodemo.product-linux.gtk.x86_64.zip。可执行文件与所有必要的依赖项(即依赖于平台)一起打包在其中。
要将您的包包含到您的 Tycho RCP 产品中,只需将它添加到 pom.xml 中,就像使用 tychodemo.bundle 一样。
关于java - 如何运行 RCP Maven/Tycho 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10138548/