我用Tycho构建了一个
Eclipse RCP应用程序(Indigo).构建在Win 7,64位机器上运行.
父POM包括:
<plugin> <groupId>org.eclipse.tycho</groupId> <artifactId>target-platform-configuration</artifactId> <version>${tycho-version}</version> <configuration> <resolver>p2</resolver> <environment> <os>linux</os> <ws>gtk</ws> <arch>x86_64</arch> </environment> <environment> <os>win32</os> <ws>win32</ws> <arch>x86_64</arch> </environment> <environment> <os>macosx</os> <ws>cocoa</ws> <arch>x86_64</arch> </environment> ...
产品配置如下所示(有一些遗漏和可读性的额外换行符):
<product name="My App" uid="myapp.product" id="myapp.core.product" application="myapp.core.application" version="0.1.4.qualifier" useFeatures="true" includeLaunchers="true"> <configIni use="default"> </configIni> <launcherArgs> <programArgs>-data @noDefault</programArgs> <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac> </launcherArgs> <launcher name="myapp_0_1_4"> <solaris/> <win useIco="false"> <bmp/> </win> </launcher> <vm> <macos include="false">org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6</macos> </vm> <plugins> <plugin id="com.ibm.icu"/> <plugin id="myapp.core"/> <plugin id="org.eclipse.core.runtime"/> <plugin id="org.eclipse.core.runtime.compatibility.registry" fragment="true"/> <plugin id="org.eclipse.equinox.app"/> <plugin id="org.eclipse.equinox.common"/> <plugin id="org.eclipse.osgi"/> <plugin id="org.eclipse.swt"/> <plugin id="org.eclipse.swt.win32.win32.x86_64" fragment="true"/> <plugin id="org.eclipse.ui"/> <plugin id="org.eclipse.ui.workbench"/> </plugins> <features> <feature id="org.eclipse.rcp" version="3.7.2.v20120120-1424-9DB5FmnFq5JCf1UA38R-kz0S0272"/> <feature id="myapp.platform_dependencies.feature" version="0.1.4.qualifier"/> <feature id="myapp.core.feature" version="0.1.4.qualifier"/> <feature id="myapp.ui.feature" version="0.1.4.qualifier"/> <feature id="myapp.model.feature" version="0.1.4.qualifier"/> </features> <configurations> <plugin id="org.eclipse.core.runtime" autoStart="true" startLevel="0" /> <plugin id="org.eclipse.equinox.common" autoStart="true" startLevel="2" /> </configurations> </product>
构建运行没有问题,并生成zip文件,在目标操作系统Windows和Windows上解压缩. Linux包括工作启动器. (在Linux上,我必须在启动它之前使启动程序可执行.)
但是,在Mac OS X(10.6.8)上,启动器(myapp.app)什么都不做……
当我运行java -jar -XstartOnFirstThread plugins / org.eclipse.equinox.launcher_ [version]时,应用程序启动,尽管没有启动画面.
我想我的产品配置中的任何地方都有错误的设置,但我不介意哪个.
Windows for Mac上的跨平台构建预计不会起作用.原因是Tycho / p2需要使用Unix权限模拟文件系统.第谷的问题跟踪器中有一个
request for this,但恕我直言实施此功能并不值得.