Community
Participate
Working Groups
Created attachment 225653 [details] maven debug log Per discussion in http://dev.eclipse.org/mhonarc/lists/cbi-dev/msg00921.html and Bug 385967 It seems Tycho is missing some classpaths when running a full build when jetty-jspc-maven-plugin is adding classpaths. When I run a partial build I get the correct classpath. The classpath is configured as follows when running a partial build: [DEBUG] Adding to classpath classes dir: /home/user/Downloads/eclipse2/eclipse.platform.releng.aggregator/eclipse.platform.ua/org.eclipse.help.webapp/target/classes/ [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/p2/osgi/bundle/javax.servlet/3.0.0.v201112011016/javax.servlet-3.0.0.v201112011016.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/p2/osgi/bundle/javax.el/2.2.0.v201108011116/javax.el-2.2.0.v201108011116.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/p2/osgi/bundle/javax.servlet.jsp/2.2.0.v201112011158/javax.servlet.jsp-2.2.0.v201112011158.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/org/eclipse/equinox/framework/org.eclipse.osgi/3.9.0-SNAPSHOT/org.eclipse.osgi-3.9.0-SNAPSHOT.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/p2/osgi/bundle/osgi.enterprise/4.2.0.v201108120515/osgi.enterprise-4.2.0.v201108120515.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/p2/osgi/bundle/org.apache.jasper.glassfish/2.2.2.v201205150955/org.apache.jasper.glassfish-2.2.2.v201205150955.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/p2/osgi/bundle/org.apache.lucene/3.5.0.v20120725-1805/org.apache.lucene-3.5.0.v20120725-1805.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/p2/osgi/bundle/org.apache.lucene.core/3.5.0.v20120725-1805/org.apache.lucene.core-3.5.0.v20120725-1805.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/p2/osgi/bundle/org.apache.lucene.misc/3.5.0.v20120725-1805/org.apache.lucene.misc-3.5.0.v20120725-1805.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/p2/osgi/bundle/org.apache.lucene.queries/3.5.0.v20120725-1805/org.apache.lucene.queries-3.5.0.v20120725-1805.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/p2/osgi/bundle/org.apache.lucene.analysis/3.5.0.v20120725-1805/org.apache.lucene.analysis-3.5.0.v20120725-1805.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/org/eclipse/platform/runtime/org.eclipse.core.contenttype/3.4.200-SNAPSHOT/org.eclipse.core.contenttype-3.4.200-SNAPSHOT.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/org/eclipse/equinox/bundles/org.eclipse.equinox.preferences/3.5.0-SNAPSHOT/org.eclipse.equinox.preferences-3.5.0-SNAPSHOT.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/org/eclipse/equinox/bundles/org.eclipse.equinox.registry/3.5.300-SNAPSHOT/org.eclipse.equinox.registry-3.5.300-SNAPSHOT.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/org/eclipse/equinox/bundles/org.eclipse.equinox.common/3.6.100-SNAPSHOT/org.eclipse.equinox.common-3.6.100-SNAPSHOT.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/org/eclipse/platform/runtime/org.eclipse.core.expressions/3.4.500-SNAPSHOT/org.eclipse.core.expressions-3.4.500-SNAPSHOT.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/org/eclipse/platform/runtime/org.eclipse.core.runtime/3.9.0-SNAPSHOT/org.eclipse.core.runtime-3.9.0-SNAPSHOT.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/org/eclipse/platform/runtime/org.eclipse.core.jobs/3.5.300-SNAPSHOT/org.eclipse.core.jobs-3.5.300-SNAPSHOT.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/org/eclipse/equinox/bundles/org.eclipse.equinox.app/1.3.100-SNAPSHOT/org.eclipse.equinox.app-1.3.100-SNAPSHOT.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/org/eclipse/equinox/bundles/org.eclipse.equinox.http.registry/1.1.200-SNAPSHOT/org.eclipse.equinox.http.registry-1.1.200-SNAPSHOT.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/org/eclipse/equinox/bundles/org.eclipse.equinox.jsp.jasper/1.0.400-SNAPSHOT/org.eclipse.equinox.jsp.jasper-1.0.400-SNAPSHOT.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/org/eclipse/equinox/bundles/org.eclipse.equinox.jsp.jasper.registry/1.0.300-SNAPSHOT/org.eclipse.equinox.jsp.jasper.registry-1.0.300-SNAPSHOT.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/eclipse/platform/ua/org.eclipse.help/3.6.0-SNAPSHOT/org.eclipse.help-3.6.0-SNAPSHOT.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/p2/osgi/bundle/com.ibm.icu/50.1.0.v20121116-2/com.ibm.icu-50.1.0.v20121116-2.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/eclipse/platform/ua/org.eclipse.help.base/4.0.0-SNAPSHOT/org.eclipse.help.base-4.0.0-SNAPSHOT.jar However when I run a full eclipse platform build the classpath is resolved as follows: [DEBUG] Adding to classpath classes dir: /home/user/Downloads/eclipse2/eclipse.platform.releng.aggregator/eclipse.platform.ua/org.eclipse.help.webapp/target/classes/ [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/p2/osgi/bundle/javax.servlet/3.0.0.v201112011016/javax.servlet-3.0.0.v201112011016.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/p2/osgi/bundle/javax.el/2.2.0.v201108011116/javax.el-2.2.0.v201108011116.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/p2/osgi/bundle/javax.servlet.jsp/2.2.0.v201112011158/javax.servlet.jsp-2.2.0.v201112011158.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/.cache/tycho/org.apache.ant-1.8.4.v201209061652.jar/lib/ant-antlr.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/.cache/tycho/org.apache.ant-1.8.4.v201209061652.jar/lib/ant-apache-bcel.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/.cache/tycho/org.apache.ant-1.8.4.v201209061652.jar/lib/ant-apache-bsf.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/.cache/tycho/org.apache.ant-1.8.4.v201209061652.jar/lib/ant-apache-log4j.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/.cache/tycho/org.apache.ant-1.8.4.v201209061652.jar/lib/ant-apache-oro.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/.cache/tycho/org.apache.ant-1.8.4.v201209061652.jar/lib/ant-apache-regexp.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/.cache/tycho/org.apache.ant-1.8.4.v201209061652.jar/lib/ant-apache-resolver.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/.cache/tycho/org.apache.ant-1.8.4.v201209061652.jar/lib/ant-apache-xalan2.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/.cache/tycho/org.apache.ant-1.8.4.v201209061652.jar/lib/ant-commons-logging.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/.cache/tycho/org.apache.ant-1.8.4.v201209061652.jar/lib/ant-commons-net.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/.cache/tycho/org.apache.ant-1.8.4.v201209061652.jar/lib/ant-jai.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/.cache/tycho/org.apache.ant-1.8.4.v201209061652.jar/lib/ant-javamail.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/.cache/tycho/org.apache.ant-1.8.4.v201209061652.jar/lib/ant-jdepend.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/.cache/tycho/org.apache.ant-1.8.4.v201209061652.jar/lib/ant-jmf.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/.cache/tycho/org.apache.ant-1.8.4.v201209061652.jar/lib/ant-jsch.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/.cache/tycho/org.apache.ant-1.8.4.v201209061652.jar/lib/ant-junit.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/.cache/tycho/org.apache.ant-1.8.4.v201209061652.jar/lib/ant-junit4.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/.cache/tycho/org.apache.ant-1.8.4.v201209061652.jar/lib/ant-launcher.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/.cache/tycho/org.apache.ant-1.8.4.v201209061652.jar/lib/ant-netrexx.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/.cache/tycho/org.apache.ant-1.8.4.v201209061652.jar/lib/ant-swing.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/.cache/tycho/org.apache.ant-1.8.4.v201209061652.jar/lib/ant-testutil.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/.cache/tycho/org.apache.ant-1.8.4.v201209061652.jar/lib/ant.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/p2/osgi/bundle/org.apache.jasper.glassfish/2.2.2.v201205150955/org.apache.jasper.glassfish-2.2.2.v201205150955.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/p2/osgi/bundle/org.apache.lucene/3.5.0.v20120725-1805/org.apache.lucene-3.5.0.v20120725-1805.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/p2/osgi/bundle/org.apache.lucene.core/3.5.0.v20120725-1805/org.apache.lucene.core-3.5.0.v20120725-1805.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/p2/osgi/bundle/org.apache.lucene.misc/3.5.0.v20120725-1805/org.apache.lucene.misc-3.5.0.v20120725-1805.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/p2/osgi/bundle/org.apache.lucene.queries/3.5.0.v20120725-1805/org.apache.lucene.queries-3.5.0.v20120725-1805.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/p2/osgi/bundle/org.apache.lucene.analysis/3.5.0.v20120725-1805/org.apache.lucene.analysis-3.5.0.v20120725-1805.jar [DEBUG] Adding to classpath dependency file: /var/tmp/lts/R43_localrepo/p2/osgi/bundle/com.ibm.icu/50.1.0.v20121116-2/com.ibm.icu-50.1.0.v20121116-2.jar Ultimately my build fails with the error: [ERROR] Failed to execute goal org.eclipse.jetty:jetty-jspc-maven-plugin:9.0.0.M4:jspc (jspc) on project org.eclipse.help.webapp: Failure processing jsps: PWC6033: Error in Javac compilation for JSP [ERROR] [ERROR] PWC6197: An error occurred at line: 318 in the jsp file: /advanced/workingSetManager.jsp [ERROR] PWC6199: Generated servlet error: [ERROR] cannot access org.eclipse.help.internal.workingset.WorkingSet [ERROR] class file for org.eclipse.help.internal.workingset.WorkingSet not found The class file org.eclipse.help.internal.workingset.WorkingSet is found in org.eclipse.help.base-4.0.0-SNAPSHOT.jar which is not a nested-jar as far as I can tell.
This issue can be reproduced using the CBI platform build [1] after applying the patch in Bug 385967 to the eclipse.platform.ua submodule and running a full build. [1] http://wiki.eclipse.org/Platform-releng/Platform_Build
(In reply to comment #1) thanks for attaching the full debug log, very helpful. here is what I think may be happening: from the end of the log (snippet see below) I can see that the dependency to org.eclipse.help.base is in fact injected by tycho into the maven model eclipse.platform.ua:org.eclipse.help.base:eclipse-plugin:4.0.0-SNAPSHOT:provided *but* as this is a full build, this dependency has scope provided and is supposed to come from the target/classes folder of the corresponding reactor module. (for a partial rebuild, a dependency to the jar in the local maven repo with scope system is injected instead) I can also see that for some reason dependencies with scope provided are ignored by the jetty plugin: [DEBUG] (f) useProvidedScope = false so I suggest to try configuring <useProvidedScope>true</useProvidedScope> for jetty-jspc-maven-plugin and see if that helps. Also configure <verbose>true</verbose> to get more debug output. jetty issue http://jira.codehaus.org/browse/JETTY-1498 may be related. also, I couldn't find up to date mojo docs, but mvn help:describe -Dplugin=org.mortbay.jetty:jetty-jspc-maven-plugin -Ddetail=true should give you the docs for this plugin. If using provided scope doesn't help, tycho bug 397374 may be related as the jspc plugin uses ${project.artifacts} to get the project's dependencies. --- log snippet --- [DEBUG] (f) project = MavenProject: eclipse.platform.ua:org.eclipse.help.webapp:3.6.200-SNAPSHOT @ /home/user/Downloads/eclipse2/eclipse.platform.releng.aggregator/eclipse.platform.ua/org.eclipse.help.webapp/pom.xml [DEBUG] (f) projectArtifacts = [p2.eclipse-plugin:javax.servlet:jar:3.0.0.v201112011016:system, p2.eclipse-plugin:javax.el:jar:2.2.0.v201108011116:system, p2.eclipse-plugin:javax.servlet.jsp:jar:2.2.0.v201112011158:system, org.eclipse.equinox.framework:org.eclipse.osgi:eclipse-plugin:3.9.0-SNAPSHOT:provided, p2.eclipse-plugin:org.apache.ant:jar:lib/ant-antlr.jar:1.8.4.v201209061652:system, p2.eclipse-plugin:org.apache.ant:jar:lib/ant-apache-bcel.jar:1.8.4.v201209061652:system, p2.eclipse-plugin:org.apache.ant:jar:lib/ant-apache-bsf.jar:1.8.4.v201209061652:system, p2.eclipse-plugin:org.apache.ant:jar:lib/ant-apache-log4j.jar:1.8.4.v201209061652:system, p2.eclipse-plugin:org.apache.ant:jar:lib/ant-apache-oro.jar:1.8.4.v201209061652:system, p2.eclipse-plugin:org.apache.ant:jar:lib/ant-apache-regexp.jar:1.8.4.v201209061652:system, p2.eclipse-plugin:org.apache.ant:jar:lib/ant-apache-resolver.jar:1.8.4.v201209061652:system, p2.eclipse-plugin:org.apache.ant:jar:lib/ant-apache-xalan2.jar:1.8.4.v201209061652:system, p2.eclipse-plugin:org.apache.ant:jar:lib/ant-commons-logging.jar:1.8.4.v201209061652:system, p2.eclipse-plugin:org.apache.ant:jar:lib/ant-commons-net.jar:1.8.4.v201209061652:system, p2.eclipse-plugin:org.apache.ant:jar:lib/ant-jai.jar:1.8.4.v201209061652:system, p2.eclipse-plugin:org.apache.ant:jar:lib/ant-javamail.jar:1.8.4.v201209061652:system, p2.eclipse-plugin:org.apache.ant:jar:lib/ant-jdepend.jar:1.8.4.v201209061652:system, p2.eclipse-plugin:org.apache.ant:jar:lib/ant-jmf.jar:1.8.4.v201209061652:system, p2.eclipse-plugin:org.apache.ant:jar:lib/ant-jsch.jar:1.8.4.v201209061652:system, p2.eclipse-plugin:org.apache.ant:jar:lib/ant-junit.jar:1.8.4.v201209061652:system, p2.eclipse-plugin:org.apache.ant:jar:lib/ant-junit4.jar:1.8.4.v201209061652:system, p2.eclipse-plugin:org.apache.ant:jar:lib/ant-launcher.jar:1.8.4.v201209061652:system, p2.eclipse-plugin:org.apache.ant:jar:lib/ant-netrexx.jar:1.8.4.v201209061652:system, p2.eclipse-plugin:org.apache.ant:jar:lib/ant-swing.jar:1.8.4.v201209061652:system, p2.eclipse-plugin:org.apache.ant:jar:lib/ant-testutil.jar:1.8.4.v201209061652:system, p2.eclipse-plugin:org.apache.ant:jar:lib/ant.jar:1.8.4.v201209061652:system, org.eclipse.equinox.framework:org.eclipse.osgi.services:eclipse-plugin:3.3.100-SNAPSHOT:provided, p2.eclipse-plugin:org.apache.jasper.glassfish:jar:2.2.2.v201205150955:system, p2.eclipse-plugin:org.apache.lucene:jar:3.5.0.v20120725-1805:system, p2.eclipse-plugin:org.apache.lucene.core:jar:3.5.0.v20120725-1805:system, p2.eclipse-plugin:org.apache.lucene.misc:jar:3.5.0.v20120725-1805:system, p2.eclipse-plugin:org.apache.lucene.queries:jar:3.5.0.v20120725-1805:system, p2.eclipse-plugin:org.apache.lucene.analysis:jar:3.5.0.v20120725-1805:system, org.eclipse.platform.runtime:org.eclipse.core.contenttype:eclipse-plugin:3.4.200-SNAPSHOT:provided, org.eclipse.equinox.bundles:org.eclipse.equinox.preferences:eclipse-plugin:3.5.0-SNAPSHOT:provided, org.eclipse.equinox.bundles:org.eclipse.equinox.registry:eclipse-plugin:3.5.300-SNAPSHOT:provided, org.eclipse.equinox.bundles:org.eclipse.equinox.common:eclipse-plugin:3.6.100-SNAPSHOT:provided, org.eclipse.platform.runtime:org.eclipse.core.expressions:eclipse-plugin:3.4.500-SNAPSHOT:provided, org.eclipse.platform.runtime:org.eclipse.core.runtime:eclipse-plugin:3.9.0-SNAPSHOT:provided, org.eclipse.platform.runtime:org.eclipse.core.jobs:eclipse-plugin:3.5.300-SNAPSHOT:provided, org.eclipse.equinox.bundles:org.eclipse.equinox.app:eclipse-plugin:1.3.100-SNAPSHOT:provided, org.eclipse.equinox.bundles:org.eclipse.equinox.http.registry:eclipse-plugin:1.1.200-SNAPSHOT:provided, org.eclipse.equinox.bundles:org.eclipse.equinox.jsp.jasper:eclipse-plugin:1.0.400-SNAPSHOT:provided, org.eclipse.equinox.bundles:org.eclipse.equinox.jsp.jasper.registry:eclipse-plugin:1.0.300-SNAPSHOT:provided, eclipse.platform.ua:org.eclipse.help:eclipse-plugin:3.6.0-SNAPSHOT:provided, p2.eclipse-plugin:com.ibm.icu:jar:50.1.0.v20121116-2:system, eclipse.platform.ua:org.eclipse.help.base:eclipse-plugin:4.0.0-SNAPSHOT:provided] [DEBUG] (f) suppressSmap = true [DEBUG] (f) tldJarNamePatterns = .*taglibs[^/]*.jar|.*jstl-impl[^/]*.jar$ [DEBUG] (f) useProvidedScope = false [DEBUG] (f) validateXml = false [DEBUG] (f) verbose = true [DEBUG] (f) webAppSourceDirectory = /home/user/Downloads/eclipse2/eclipse.platform.releng.aggregator/eclipse.platform.ua/org.eclipse.help.webapp [DEBUG] (f) webXml = /home/user/Downloads/eclipse2/eclipse.platform.releng.aggregator/eclipse.platform.ua/org.eclipse.help.webapp/src/main/webapp/WEB-INF/web.xml [DEBUG] (f) webXmlFragment = /home/user/Downloads/eclipse2/eclipse.platform.releng.aggregator/eclipse.platform.ua/org.eclipse.help.webapp/target/webfrag.xml [DEBUG] -- end configuration --
(In reply to comment #2) > so I suggest to try configuring > > <useProvidedScope>true</useProvidedScope> > > for jetty-jspc-maven-plugin and see if that helps. Looks like this helps. I was able to get past this issue after I added the useProvidedScope. I even see in the logs now that org.eclipse.help.webapp is added: [DEBUG] webappclassloader contains: file:/home/user/Downloads/eclipse2/eclipse.platform.releng.aggregator/eclipse.platform.ua/org.eclipse.help.webapp/target/classes/ [DEBUG] added to classpath: /home/user/Downloads/eclipse2/eclipse.platform.releng.aggregator/eclipse.platform.ua/org.eclipse.help.webapp/target/classes/
To double check I ran a new build with a fresh maven local repo. Looks like adding <useProvidedScope>true</useProvidedScope> is all that was needed in this case. Setting this bug to resolved.