I am relatively new to the e4 Java development. I have built an RCP-based application which runs when debugging or running through the Eclipse IDE (Neon). However, when I export the application for deployment, the exported launcher when clicked gives me an error ("You can't open the application [application name] because it may be damaged or incomplete"). I have also attempted to recreate the error by creating an empty RCP application and the same issue appears. In both of these cases, I have checked "The product includes native launcher artifacts".
Any idea of what the issue might be?
Product file:
<?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>
This is the other application (minimal example) where error also duplicated
<?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>
This is the error message that appeared after compilation that Eclipse wanted to send:
The following report will be sent to Eclipse:
------ STATUS ------ pluginId org.eclipse.pde.build pluginVersion 3.9.200.v20160204-0642 code 17 severity 4 message HIDDEN fingerprint
307801a13ac4d782070cb3fca93512d0Exception:org.eclipse.core.runtime.CoreException: HIDDEN at org.eclipse.pde.internal.build.site.BuildTimeFeatureFactory.parseBuildFeature(BuildTimeFeatureFactory.java:85) at org.eclipse.pde.internal.build.site.BuildTimeFeatureFactory.createFeature(BuildTimeFeatureFactory.java:50) at 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) at org.eclipse.pde.internal.build.site.BuildTimeSite.findFeature(BuildTimeSite.java:285) at org.eclipse.pde.internal.build.site.BuildTimeSite.findFeature(BuildTimeSite.java:277) at org.eclipse.pde.internal.build.BuildScriptGenerator.generateFeatures(BuildScriptGenerator.java:249) at org.eclipse.pde.internal.build.BuildScriptGenerator.generate(BuildScriptGenerator.java:127) at org.eclipse.pde.internal.core.exports.FeatureExportOperation.doExport(FeatureExportOperation.java:255) at org.eclipse.pde.internal.core.exports.ProductExportOperation.run(ProductExportOperation.java:105) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
------ STATUS ------ pluginId org.eclipse.equinox.p2.publisher.eclipse pluginVersion 1.2.100.v20160504-1450 code 17 severity 4 message HIDDEN fingerprint
b9f4abf3b28ea9e6b7a2483f4ff27615------ STATUS ------ pluginId org.eclipse.equinox.p2.publisher.eclipse pluginVersion 1.2.100.v20160504-1450 code 17 severity 4 message HIDDEN fingerprint
465298c82a36dba3f729743e02a61485------ REPORT ------ anonymousId adc23f85-e164-4e7d-93ee-1d0b8861a2d7 name Mona email [email] comment eclipseBuildId
4.6.0.I20160606-1100 eclipseProduct org.eclipse.epp.package.jee.product javaRuntimeVersion 1.8.0_92-b14 osgiWs cocoa osgiOs MacOSX osgiOsVersion
10.11.5 osgiArch x86_64 severity UNKNOWN------- BUNDLES ------- name org.eclipse.core.jobs version 3.8.0.v20160509-0411
name org.eclipse.pde.build version
3.9.200.v20160204-0642name org.eclipse.pde version
3.12.0.v20160606-1100name org.eclipse.pde.core version
3.11.0.v20160510-1223
Admittedly, I gave up on the UI-based method to create a build. Instead I just caught up and learned the Tycho-based approach to create a deploy-able executable - even though it required some tweaking with the project configuration.
Good beginner tutorial: https://simplejavablog.eu/2016/03/22/eclipse-rcp-part-1/