Tycho Folks -
I am trying to build a RCP Application using the Maven/Tycho tool chain. I've knit together all my components with a set of Maven projects. The POMs do create a .zip file with nearly all the pieces necessary to run my project as a stand alone application. However, the platform specific SWT library is not getting added to the zip file. Once the splash screen clears, the application fails with a NoClassDefFoundError for "org/eclipse/swt/SWTError".
The really curious part is that "-Dtycho.debug.resolver=true" output shows that org.eclipse.swt.win32.win32.x86_64 3.103.2.v20150203-1351 is a Resovled IU (output below). Most oddly, it is the last resolved IU in the list and it is not present in the product's .zip file. Manually adding the platform specific SWT fragment to the plugins/ directory doesn't seem to help. I still get the NoClassDefFoundError starting the application.
I'm using the following PDE .target file to identify the luna release, the core RCP features, and a product environment:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde version="3.8"?><target name="DepAn RCP Target" sequenceNumber="0">
<locations>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.equinox.executable.feature.group" version="3.6.102.v20150204-1316"/>
<unit id="org.eclipse.equinox.p2.user.ui.feature.group" version="2.2.0.v20150129-0838"/>
<unit id="org.eclipse.jdt.source.feature.group" version="3.10.1.v20150204-1700"/>
</location>
</locations>
<environment>
<os>win32</os>
<ws>win32</ws>
<arch>x86_64</arch>
<nl>en_US</nl>
</environment>
<launcherArgs>
<vmArgs>-Dosgi.requiredJavaVersion=1.6 -Xms40m -Xmx512m</vmArgs>
</launcherArgs>
</target>
The POM parent project configures the build target with a target-platform-configuration section as follows:
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
<version>${tycho.version}</version>
<configuration>
<environments>
<environment>
<os>win32</os>
<ws>win32</ws>
<arch>x86_64</arch>
</environment>
</environments>
<target>
<artifact>
<groupId>com.pnambic.depan</groupId>
<artifactId>depan-luna-target</artifactId>
<version>1.0.0-luna</version>
</artifact>
</target>
</configuration>
My build environment is Windows 7 Pro, using Cygwin, Java 1.7, and Maven 3.2.3, and Tycho 0.23.1.
Although the complete RCP application is fairly large, for this initial experiment involves just two application plugins. These are bundled as a feature, and this feature feeds into the product build.
Complete details are available on github in branch "scratch/mavenize" of project github.com:google/depan.git. It should be possible to recreate my experience by downloading this branch and running Tools/buildDepan.sh script.
Any insight on ensuring the platforms SWT is bundled will be appreciated.
Thanks
- Lee
-------------------
Partial output from
mvn -Dtycho.debug.resolver=true -X -f depan-win64-release
[DEBUG] Resolved IUs:
com.google.devtools.depan 0.0.8.201510110322
org.eclipse.core.runtime 3.10.0.v20140318-2214
org.eclipse.ui 3.106.1.v20141002-1150
org.eclipse.core.resources 3.9.1.v20140825-1431
org.eclipse.ui.ide 3.10.2.v20141118-1227
org.eclipse.ui.views 3.7.0.v20140408-0703
org.eclipse.jface.text 3.9.2.v20141003-1326
org.eclipse.ui.navigator.resources 3.4.700.v20140407-1004
org.eclipse.ui.navigator 3.5.401.v20140724-1117
org.eclipse.ui.editors 3.8.200.v20140401-1310
org.eclipse.ui.workbench.texteditor 3.9.0.v20140411-1521
com.google.devtools.depan.core 1.0.5.201510110322
com.google.guava 18.0.0
depan-jogl-library 0.0.1.SNAPSHOT
depan-jung-library 0.0.1.SNAPSHOT
depan-xstream-library 0.0.1.SNAPSHOT
joda-time 2.5.0
com.pnambic.depan.platform.feature.group 1.0.0.201510110322
com.pnambic.depan.platform.feature.jar 1.0.0.201510110322
com.pnambic.depan.win64.feature.feature.group 1.0.0.201510110322
com.pnambic.depan.win64.feature.feature.jar 1.0.0.201510110322
com.pnambic.depan.win64.release 1.0.0.qualifier
org.eclipse.equinox.executable.feature.group 3.6.102.v20150204-1316
config.a.jre.javase 1.7.0
a.jre.javase 1.7.0
javax.annotation 1.2.0.v201401042248
javax.xml 1.3.4.v201005080400
org.eclipse.osgi 3.10.2.v20150203-1939
org.apache.batik.css 1.7.0.v201011041433
org.apache.batik.util 1.7.0.v201011041433
org.w3c.dom.events 3.0.0.draft20060413_v201105210656
org.w3c.css.sac 1.3.1.v200903091627
org.w3c.dom.svg 1.1.0.v201011041433
org.apache.batik.util.gui 1.7.0.v200903091627
org.eclipse.osgi.services 3.4.0.v20140312-2051
org.eclipse.compare 3.5.501.v20140817-1445
org.eclipse.core.expressions 3.4.600.v20140128-0851
org.eclipse.ui.forms 3.6.100.v20140422-1825
org.eclipse.compare.core 3.5.400.v20130903-0736
com.ibm.icu 52.1.1.v201501240615
org.eclipse.core.commands 3.6.100.v20140528-1422
org.eclipse.equinox.common 3.6.200.v20130402-1505
org.eclipse.core.contenttype 3.4.200.v20140207-1251
org.eclipse.equinox.preferences 3.5.200.v20140224-1527
org.eclipse.equinox.registry 3.5.400.v20140428-1507
org.eclipse.core.databinding 1.4.2.v20140729-1044
org.eclipse.core.databinding.observable 1.4.1.v20140210-1835
org.eclipse.core.databinding.property 1.4.200.v20140214-0004
org.eclipse.core.filebuffers 3.5.400.v20140127-1516
org.eclipse.text 3.5.300.v20130515-1451
org.eclipse.core.filesystem 1.4.100.v20140514-1614
org.eclipse.equinox.app 1.3.200.v20130910-1609
org.eclipse.e4.core.commands 0.10.2.v20140424-2344
org.eclipse.e4.core.di 1.4.0.v20140414-1837
javax.inject 1.0.0.v20091030
org.eclipse.e4.core.contexts 1.3.100.v20140407-1019
org.eclipse.e4.core.services 1.2.1.v20140808-1251
org.eclipse.e4.core.di.extensions 0.12.0.v20140417-2033
org.eclipse.e4.ui.bindings 0.10.200.v20140424-2042
org.eclipse.swt 3.103.2.v20150203-1313
org.eclipse.jface 3.10.2.v20141021-1035
org.eclipse.e4.ui.css.core 0.10.100.v20140424-2042
org.eclipse.e4.ui.css.swt 0.11.101.v20140818-1343
org.eclipse.e4.ui.css.swt.theme 0.9.300.v20141126-1957
org.eclipse.e4.ui.di 1.0.0.v20140328-2112
org.eclipse.e4.ui.model.workbench 1.1.0.v20140512-1820
org.eclipse.emf.ecore 2.10.2.v20150123-0348
org.eclipse.e4.ui.services 1.1.0.v20140328-1925
org.eclipse.e4.ui.widgets 1.0.0.v20140514-1823
org.eclipse.e4.ui.workbench 1.2.2.v20141212-1259
org.eclipse.emf.ecore.change 2.10.0.v20150123-0348
org.eclipse.emf.ecore.xmi 2.10.2.v20150123-0348
org.eclipse.e4.ui.workbench.addons.swt 1.1.2.v20141126-1310
org.eclipse.e4.ui.workbench.renderers.swt 0.12.2.v20150204-1353
org.eclipse.e4.ui.workbench.swt 0.12.100.v20141126-1150
org.eclipse.jface.databinding 1.6.200.v20140528-1422
org.eclipse.e4.ui.workbench3 0.12.0.v20140227-2118
org.eclipse.equinox.ds 1.4.200.v20131126-2331
org.eclipse.emf.common 2.10.1.v20150123-0348
org.eclipse.equinox.bidi 0.10.0.v20130327-1442
org.eclipse.equinox.util 1.0.500.v20130404-1337
org.eclipse.equinox.launcher 1.3.0.v20140415-2008
org.eclipse.equinox.launcher.win32.win32.x86_64 1.1.200.v20150204-1316
org.eclipse.equinox.executable.feature.jar 3.6.102.v20150204-1316
org.eclipse.equinox.executable_root.win32.win32.x86_64 3.6.102.v20150204-1316
org.eclipse.equinox.p2.core 2.3.0.v20131211-1531
org.eclipse.equinox.p2.engine 2.3.0.v20140506-1720
org.eclipse.equinox.p2.metadata 2.2.0.v20131211-1531
org.eclipse.equinox.p2.metadata.repository 1.2.100.v20131209-2144
org.eclipse.equinox.p2.repository 2.3.0.v20131211-1531
org.eclipse.equinox.security 1.2.0.v20130424-1801
org.eclipse.help 3.6.0.v20130326-1254
org.eclipse.ltk.core.refactoring 3.6.101.v20140817-1500
org.eclipse.ltk.ui.refactoring 3.7.100.v20140324-1358
org.eclipse.team.core 3.7.0.v20130514-1224
org.eclipse.team.ui 3.7.100.v20130710-1213
org.eclipse.ui.workbench 3.106.2.v20150204-1030
org.eclipse.ui.views.properties.tabbed 3.6.0.v20140519-0906
org.w3c.dom.smil 1.0.0.v200806040011
org.eclipse.swt.win32.win32.x86_64 3.103.2.v20150203-1351