在Windows上使用Tycho构建的Eclipse RCP应用程序的Mac发行版无法启动 [英] Mac distribution of Eclipse RCP application built with Tycho on Windows doesn't start
问题描述
我已经用Tycho构建了一个Eclipse RCP应用程序(Indigo).该版本在Win 7、64位计算机上运行.
I have built an Eclipse RCP application (Indigo) with Tycho. The build is run on a Win 7, 64-bit machine.
父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>
...
产品配置看起来像这样(为便于阅读,有一些遗漏和额外的换行符):
The product configuration looks like this (with a few omissions and extra line breaks for readbility):
<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& amp;中解压缩. Linux包括可运行的启动器. (在Linux上,我必须使启动器可执行,然后才能运行它.)
The build runs without problems, and generates zip files, which, unpacked on the target OSs Windows & Linux include working launchers. (On Linux, I have to make the launcher executable before being able to run it.)
但是,在Mac OS X(10.6.8)上,启动器(myapp.app)不会执行任何操作...
On Mac OS X (10.6.8), however, the launcher (myapp.app) does nothing...
当我运行java -jar -XstartOnFirstThread plugins/org.eclipse.equinox.launcher_[version]
时,即使没有启动屏幕,该应用程序也会启动.
When I run java -jar -XstartOnFirstThread plugins/org.eclipse.equinox.launcher_[version]
, the application is launched, albeit without the splash screen.
我想我在产品配置中的任何地方都有错误的设置,但是我不介意哪个.
I imagine I have a wrong setting anywhere in my Product Configuration, but I cannot mind which.
推荐答案
在Windows for Mac上跨平台构建不能正常工作.原因是Tycho/p2需要模拟具有Unix权限的文件系统.第谷的问题跟踪器中有一个要求,但是恕我直言,实现了这一点不值得付出努力.
Cross-platform build on Windows for Mac is not expected to work. The reason is that Tycho/p2 would need to simulate a file system with Unix permissions. There is a request for this in Tycho's issue tracker, but IMHO implementing this is not worth the effort.
这篇关于在Windows上使用Tycho构建的Eclipse RCP应用程序的Mac发行版无法启动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!