2016-07-05 79 views
0

我對e4 Java開發相對陌生。我構建了一個基於RCP的應用程序,該應用程序在調試或運行Eclipse IDE(Neon)時運行。但是,當我導出應用程序進行部署時,導出的啓動程序在單擊時會給我一個錯誤(「您無法打開應用程序[應用程序名稱],因爲它可能已損壞或不完整」)。我也嘗試通過創建一個空的RCP應用程序來重新創建錯誤,並出現相同的問題。在這兩種情況下,我都選中了「該產品包含本地啓動器工件」。導出的e4 RCP應用程序無法打開,因爲「已損壞或不完整」(OSX)

任何想法可能是什麼問題?

產品的文件:

<?xml version="1.0" encoding="UTF-8"?> 
<?pde version="3.5"?> 

<product name="Pearl" uid="pearl" id="Information_Extraction_Workbench.product" application="org.eclipse.e4.ui.workbench.swt.E4Application" version="1.0.0.qualifier" useFeatures="false" includeLaunchers="true"> 


    <configIni use="default"> 
    </configIni> 

    <launcherArgs> 
     <programArgs>-clearPersistedState 
     </programArgs> 
     <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts 
     </vmArgsMac> 
    </launcherArgs> 

    <windowImages/> 


    <launcher name="pearl"> 
     <solaris/> 
     <win useIco="false"> 
     <bmp/> 
     </win> 
    </launcher> 


    <vm> 
    </vm> 


    <plugins> 
     <plugin id="Information_Extraction_Workbench"/> 
     <plugin id="com.ibm.icu"/> 
     <plugin id="javax.annotation"/> 
     <plugin id="javax.inject"/> 
     <plugin id="javax.servlet"/> 
     <plugin id="javax.xml"/> 
     <plugin id="org.apache.batik.css"/> 
     <plugin id="org.apache.batik.util"/> 
     <plugin id="org.apache.batik.util.gui"/> 
     <plugin id="org.apache.commons.jxpath"/> 
     <plugin id="org.apache.commons.logging"/> 
     <plugin id="org.eclipse.ant.core"/> 
     <plugin id="org.eclipse.core.commands"/> 
     <plugin id="org.eclipse.core.contenttype"/> 
     <plugin id="org.eclipse.core.databinding"/> 
     <plugin id="org.eclipse.core.databinding.beans"/> 
     <plugin id="org.eclipse.core.databinding.observable"/> 
     <plugin id="org.eclipse.core.databinding.property"/> 
     <plugin id="org.eclipse.core.expressions"/> 
     <plugin id="org.eclipse.core.filesystem"/> 
     <plugin id="org.eclipse.core.filesystem.aix.ppc" fragment="true"/> 
     <plugin id="org.eclipse.core.filesystem.hpux.ia64_32" fragment="true"/> 
     <plugin id="org.eclipse.core.filesystem.java7" fragment="true"/> 
     <plugin id="org.eclipse.core.filesystem.linux.ppc" fragment="true"/> 
     <plugin id="org.eclipse.core.filesystem.linux.x86" fragment="true"/> 
     <plugin id="org.eclipse.core.filesystem.linux.x86_64" fragment="true"/> 
     <plugin id="org.eclipse.core.filesystem.macosx" fragment="true"/> 
     <plugin id="org.eclipse.core.filesystem.solaris.sparc" fragment="true"/> 
     <plugin id="org.eclipse.core.filesystem.win32.x86" fragment="true"/> 
     <plugin id="org.eclipse.core.filesystem.win32.x86_64" fragment="true"/> 
     <plugin id="org.eclipse.core.jobs"/> 
     <plugin id="org.eclipse.core.resources"/> 
     <plugin id="org.eclipse.core.resources.win32.x86" fragment="true"/> 
     <plugin id="org.eclipse.core.runtime"/> 
     <plugin id="org.eclipse.core.runtime.compatibility.registry" fragment="true"/> 
     <plugin id="org.eclipse.core.variables"/> 
     <plugin id="org.eclipse.e4.core.commands"/> 
     <plugin id="org.eclipse.e4.core.contexts"/> 
     <plugin id="org.eclipse.e4.core.di"/> 
     <plugin id="org.eclipse.e4.core.di.annotations"/> 
     <plugin id="org.eclipse.e4.core.di.extensions"/> 
     <plugin id="org.eclipse.e4.core.services"/> 
     <plugin id="org.eclipse.e4.emf.xpath"/> 
     <plugin id="org.eclipse.e4.ui.bindings"/> 
     <plugin id="org.eclipse.e4.ui.css.core"/> 
     <plugin id="org.eclipse.e4.ui.css.swt"/> 
     <plugin id="org.eclipse.e4.ui.css.swt.theme"/> 
     <plugin id="org.eclipse.e4.ui.di"/> 
     <plugin id="org.eclipse.e4.ui.model.workbench"/> 
     <plugin id="org.eclipse.e4.ui.services"/> 
     <plugin id="org.eclipse.e4.ui.widgets"/> 
     <plugin id="org.eclipse.e4.ui.workbench"/> 
     <plugin id="org.eclipse.e4.ui.workbench.addons.swt"/> 
     <plugin id="org.eclipse.e4.ui.workbench.renderers.swt"/> 
     <plugin id="org.eclipse.e4.ui.workbench.renderers.swt.cocoa" fragment="true"/> 
     <plugin id="org.eclipse.e4.ui.workbench.swt"/> 
     <plugin id="org.eclipse.e4.ui.workbench3"/> 
     <plugin id="org.eclipse.emf.common"/> 
     <plugin id="org.eclipse.emf.databinding"/> 
     <plugin id="org.eclipse.emf.ecore"/> 
     <plugin id="org.eclipse.emf.ecore.change"/> 
     <plugin id="org.eclipse.emf.ecore.xmi"/> 
     <plugin id="org.eclipse.equinox.app"/> 
     <plugin id="org.eclipse.equinox.bidi"/> 
     <plugin id="org.eclipse.equinox.common"/> 
     <plugin id="org.eclipse.equinox.concurrent"/> 
     <plugin id="org.eclipse.equinox.ds"/> 
     <plugin id="org.eclipse.equinox.event"/> 
     <plugin id="org.eclipse.equinox.preferences"/> 
     <plugin id="org.eclipse.equinox.registry"/> 
     <plugin id="org.eclipse.equinox.util"/> 
     <plugin id="org.eclipse.help"/> 
     <plugin id="org.eclipse.jface"/> 
     <plugin id="org.eclipse.jface.databinding"/> 
     <plugin id="org.eclipse.nebula.widgets.tablecombo"/> 
     <plugin id="org.eclipse.osgi"/> 
     <plugin id="org.eclipse.osgi.compatibility.state" fragment="true"/> 
     <plugin id="org.eclipse.osgi.services"/> 
     <plugin id="org.eclipse.swt"/> 
     <plugin id="org.eclipse.swt.carbon.macosx" fragment="true"/> 
     <plugin id="org.eclipse.swt.cocoa.macosx" fragment="true"/> 
     <plugin id="org.eclipse.swt.cocoa.macosx.x86_64" fragment="true"/> 
     <plugin id="org.eclipse.swt.gtk.linux.ppc" fragment="true"/> 
     <plugin id="org.eclipse.swt.gtk.linux.ppc64" fragment="true"/> 
     <plugin id="org.eclipse.swt.gtk.linux.s390" fragment="true"/> 
     <plugin id="org.eclipse.swt.gtk.linux.s390x" fragment="true"/> 
     <plugin id="org.eclipse.swt.gtk.linux.x86" fragment="true"/> 
     <plugin id="org.eclipse.swt.gtk.linux.x86_64" fragment="true"/> 
     <plugin id="org.eclipse.swt.gtk.solaris.sparc" fragment="true"/> 
     <plugin id="org.eclipse.swt.gtk.solaris.x86" fragment="true"/> 
     <plugin id="org.eclipse.swt.motif.aix.ppc" fragment="true"/> 
     <plugin id="org.eclipse.swt.motif.hpux.ia64_32" fragment="true"/> 
     <plugin id="org.eclipse.swt.motif.linux.x86" fragment="true"/> 
     <plugin id="org.eclipse.swt.motif.solaris.sparc" fragment="true"/> 
     <plugin id="org.eclipse.swt.photon.qnx.x86" fragment="true"/> 
     <plugin id="org.eclipse.swt.win32.win32.x86" fragment="true"/> 
     <plugin id="org.eclipse.swt.win32.win32.x86_64" fragment="true"/> 
     <plugin id="org.eclipse.ui"/> 
     <plugin id="org.eclipse.ui.cocoa" fragment="true"/> 
     <plugin id="org.eclipse.ui.forms"/> 
     <plugin id="org.eclipse.ui.themes"/> 
     <plugin id="org.eclipse.ui.workbench"/> 
     <plugin id="org.eclipse.wst.jsdt.nashorn.extension" fragment="true"/> 
     <plugin id="org.w3c.css.sac"/> 
     <plugin id="org.w3c.dom.events"/> 
     <plugin id="org.w3c.dom.smil"/> 
     <plugin id="org.w3c.dom.svg"/> 
    </plugins> 


    <preferencesInfo> 
     <targetfile overwrite="false"/> 
    </preferencesInfo> 

    <cssInfo> 
     <file path="/Information Extraction Workbench/css/default.css"/> 
    </cssInfo> 

</product> 

這是其他應用(最小例子)其中,誤差也重複

<?xml version="1.0" encoding="UTF-8"?> 
<?pde version="3.5"?> 

<product name="com.example.e4.rcp.wizard" uid="blah" id="com.example.e4.rcp.wizard.product" application="org.eclipse.e4.ui.workbench.swt.E4Application" version="1.0.0.qualifier" useFeatures="false" includeLaunchers="true"> 


    <configIni use="default"> 
    </configIni> 

    <launcherArgs> 
     <programArgs>-clearPersistedState 
     </programArgs> 
     <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts 
     </vmArgsMac> 
    </launcherArgs> 

    <windowImages/> 


    <launcher name="rey"> 
     <solaris/> 
     <win useIco="false"> 
     <bmp/> 
     </win> 
    </launcher> 


    <vm> 
     <macos include="true">org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8</macos> 
    </vm> 


    <plugins> 
     <plugin id="com.example.e4.rcp.wizard"/> 
     <plugin id="com.ibm.icu"/> 
     <plugin id="javax.annotation"/> 
     <plugin id="javax.inject"/> 
     <plugin id="javax.servlet"/> 
     <plugin id="javax.xml"/> 
     <plugin id="org.apache.batik.css"/> 
     <plugin id="org.apache.batik.util"/> 
     <plugin id="org.apache.batik.util.gui"/> 
     <plugin id="org.apache.commons.jxpath"/> 
     <plugin id="org.apache.commons.logging"/> 
     <plugin id="org.eclipse.ant.core"/> 
     <plugin id="org.eclipse.core.commands"/> 
     <plugin id="org.eclipse.core.contenttype"/> 
     <plugin id="org.eclipse.core.databinding"/> 
     <plugin id="org.eclipse.core.databinding.beans"/> 
     <plugin id="org.eclipse.core.databinding.observable"/> 
     <plugin id="org.eclipse.core.databinding.property"/> 
     <plugin id="org.eclipse.core.expressions"/> 
     <plugin id="org.eclipse.core.filesystem"/> 
     <plugin id="org.eclipse.core.filesystem.aix.ppc" fragment="true"/> 
     <plugin id="org.eclipse.core.filesystem.hpux.ia64_32" fragment="true"/> 
     <plugin id="org.eclipse.core.filesystem.linux.ppc" fragment="true"/> 
     <plugin id="org.eclipse.core.filesystem.linux.x86" fragment="true"/> 
     <plugin id="org.eclipse.core.filesystem.linux.x86_64" fragment="true"/> 
     <plugin id="org.eclipse.core.filesystem.macosx" fragment="true"/> 
     <plugin id="org.eclipse.core.filesystem.solaris.sparc" fragment="true"/> 
     <plugin id="org.eclipse.core.filesystem.win32.x86" fragment="true"/> 
     <plugin id="org.eclipse.core.filesystem.win32.x86_64" fragment="true"/> 
     <plugin id="org.eclipse.core.jobs"/> 
     <plugin id="org.eclipse.core.resources"/> 
     <plugin id="org.eclipse.core.resources.win32.x86" fragment="true"/> 
     <plugin id="org.eclipse.core.runtime"/> 
     <plugin id="org.eclipse.core.variables"/> 
     <plugin id="org.eclipse.e4.core.commands"/> 
     <plugin id="org.eclipse.e4.core.contexts"/> 
     <plugin id="org.eclipse.e4.core.di"/> 
     <plugin id="org.eclipse.e4.core.di.annotations"/> 
     <plugin id="org.eclipse.e4.core.di.extensions"/> 
     <plugin id="org.eclipse.e4.core.services"/> 
     <plugin id="org.eclipse.e4.emf.xpath"/> 
     <plugin id="org.eclipse.e4.ui.bindings"/> 
     <plugin id="org.eclipse.e4.ui.css.core"/> 
     <plugin id="org.eclipse.e4.ui.css.swt"/> 
     <plugin id="org.eclipse.e4.ui.css.swt.theme"/> 
     <plugin id="org.eclipse.e4.ui.di"/> 
     <plugin id="org.eclipse.e4.ui.model.workbench"/> 
     <plugin id="org.eclipse.e4.ui.services"/> 
     <plugin id="org.eclipse.e4.ui.swt.gtk" fragment="true"/> 
     <plugin id="org.eclipse.e4.ui.widgets"/> 
     <plugin id="org.eclipse.e4.ui.workbench"/> 
     <plugin id="org.eclipse.e4.ui.workbench.renderers.swt"/> 
     <plugin id="org.eclipse.e4.ui.workbench.renderers.swt.cocoa" fragment="true"/> 
     <plugin id="org.eclipse.e4.ui.workbench.swt"/> 
     <plugin id="org.eclipse.e4.ui.workbench3"/> 
     <plugin id="org.eclipse.emf.common"/> 
     <plugin id="org.eclipse.emf.databinding"/> 
     <plugin id="org.eclipse.emf.ecore"/> 
     <plugin id="org.eclipse.emf.ecore.change"/> 
     <plugin id="org.eclipse.emf.ecore.xmi"/> 
     <plugin id="org.eclipse.equinox.app"/> 
     <plugin id="org.eclipse.equinox.bidi"/> 
     <plugin id="org.eclipse.equinox.common"/> 
     <plugin id="org.eclipse.equinox.concurrent"/> 
     <plugin id="org.eclipse.equinox.ds"/> 
     <plugin id="org.eclipse.equinox.event"/> 
     <plugin id="org.eclipse.equinox.preferences"/> 
     <plugin id="org.eclipse.equinox.registry"/> 
     <plugin id="org.eclipse.equinox.util"/> 
     <plugin id="org.eclipse.jface"/> 
     <plugin id="org.eclipse.jface.databinding"/> 
     <plugin id="org.eclipse.osgi"/> 
     <plugin id="org.eclipse.osgi.compatibility.state" fragment="true"/> 
     <plugin id="org.eclipse.osgi.services"/> 
     <plugin id="org.eclipse.swt"/> 
     <plugin id="org.eclipse.swt.cocoa.macosx.x86_64" fragment="true"/> 
     <plugin id="org.eclipse.swt.gtk.linux.ppc" fragment="true"/> 
     <plugin id="org.eclipse.swt.gtk.linux.ppc64" fragment="true"/> 
     <plugin id="org.eclipse.swt.gtk.linux.s390" fragment="true"/> 
     <plugin id="org.eclipse.swt.gtk.linux.s390x" fragment="true"/> 
     <plugin id="org.eclipse.swt.gtk.linux.x86" fragment="true"/> 
     <plugin id="org.eclipse.swt.gtk.linux.x86_64" fragment="true"/> 
     <plugin id="org.eclipse.swt.gtk.solaris.sparc" fragment="true"/> 
     <plugin id="org.eclipse.swt.gtk.solaris.x86" fragment="true"/> 
     <plugin id="org.eclipse.swt.win32.win32.x86" fragment="true"/> 
     <plugin id="org.eclipse.swt.win32.win32.x86_64" fragment="true"/> 
     <plugin id="org.eclipse.wst.jsdt.nashorn.extension" fragment="true"/> 
     <plugin id="org.w3c.css.sac"/> 
     <plugin id="org.w3c.dom.events"/> 
     <plugin id="org.w3c.dom.smil"/> 
     <plugin id="org.w3c.dom.svg"/> 
    </plugins> 


    <preferencesInfo> 
     <targetfile overwrite="false"/> 
    </preferencesInfo> 

    <cssInfo> 
    </cssInfo> 

</product> 

這是後出現錯誤消息Eclipse想要發送的編譯:

以下報告將被髮送到Eclipse:

------狀態 ------ pluginId org.eclipse.pde.build pluginVersion 3.9.200.v20160204 -0642代碼17嚴重性4消息HIDDEN指紋
307801a13ac4d782070cb3fca93512d0

異常:org.eclipse.core.runtime.CoreException:HIDDEN在 org.eclipse.pde.internal.build.site.BuildTimeFeatureFactory.parseBuildFeature(BuildT imeFeatureFactory.java:85) 在 org.eclipse.pde.internal.build.site.BuildTimeFeatureFactory.createFeature(BuildTimeFeatureFactory.java:50) 在 org.eclipse.pde.internal.build.site.BuildTimeSite.createFeature( BuildTimeSite.java:458) at org.eclipse.pde.internal.build.site.compatibility.FeatureReference.getFeature(FeatureReference.java:39) at org.eclipse.pde.internal.build.site.BuildTimeSite。 resolveFeatureReferences(BuildTimeSite.java:316) 在 org.eclipse.pde.internal.build.site.BuildTimeSite.findFeature(BuildTimeSite.java:285) 在 org.eclipse.pde.internal.build.site.BuildTimeSite。 findFeature(BuildTimeSite.java: 277) 在 org.eclipse.pde.internal.build.BuildScriptGenerator.generateFeatures(BuildScriptGenerator.java:249) 在 org.eclipse.pde.internal.build.BuildScriptGenerator.generate(BuildScriptGenerator.java:127) 在 org.eclipse.pde.internal.core.exports.FeatureExportOperation.doExport(FeatureExportOperation.java:255) 在 org.eclipse.pde.internal.core.exports.ProductExportOperation.run(ProductExportOperation.java:105) 在org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

------ STATUS ------ pluginId org.eclipse.equinox.p2.publisher.eclipse pluginVer sion 1.2.100。v20160504-1450代碼17 嚴重性4消息HIDDEN指紋
b9f4abf3b28ea9e6b7a2483f4ff27615

------ STATUS ------ pluginId org.eclipse.equinox.p2.publisher.eclipse pluginVersion 1.2.100.v20160504 -1450代碼17 嚴重性4消息HIDDEN指紋
465298c82a36dba3f729743e02a61485

------ REPORT ------ anonymousId adc23f85-e164-4e7d-93ee-1d0b8861a2d7名莫納電子郵件[電子郵件]評論eclipseBuildId
4.6.0.I20160606-1 100 eclipseProduct org.eclipse.epp.package.jee.product javaRuntimeVersion 1.8.0_92-B14 osgiWs可可osgiOs MacOSX的osgiOsVersion
10.11.5 osgiArch x86_64的嚴重性UNKNOWN

------- BUNDLES --- ----名org.eclipse.core.jobs版本3.8.0.v20160509-0411

名org.eclipse.pde.build版本
3.9.200.v20160204-0642

名org.eclipse .pde版本
3.12.0.v20160606-1100

名org.eclipse.pde.core版本
3.11.0.v20160510-1223

+0

這工作得很好,我在OS X 10.11.5與Eclipse霓虹燈。那麼OS X是什麼版本?編輯您的問題並向我們展示您的.product文件。 –

+0

嗨格雷格,我有埃爾卡皮坦編輯我的原始問題與產品文件。 –

+0

我從我所看到的主要區別是''部分中的

回答

0

誠然,我放棄了對基於UI的方法來創建一個版本。相反,我剛剛學會了基於Tycho的方法來創建一個可部署的可執行文件 - 儘管它需要對項目配置進行一些調整。

好初學者教程: https://simplejavablog.eu/2016/03/22/eclipse-rcp-part-1/

相關問題