oh my bad it was just for testing purpose as I have some issues with the jsp classloader with the tomcat8 integration. (I will revert that) As I have limited time currently, I will appreciate any help :-)
The problem is: SEVERE: Servlet.service() for servlet [jsp] in context with path [/multi-config] threw exception [java.lang.LinkageError: loader constraint violation: when resolving method "org.apache.jasper.runtime.InstanceManagerFactory.getInstanceManager(Ljavax/servlet/ServletConfig;)Lorg/apache/tomcat/InstanceManager;" the class loader (instance of org/apache/jasper/servlet/JasperLoader) of the current class, org/apache/jsp/index_jsp, and the class loader (instance of org/codehaus/plexus/classworlds/realm/ClassRealm) for resolved class, org/apache/jasper/runtime/InstanceManagerFactory, have different Class objects for the type .getInstanceManager(Ljavax/servlet/ServletConfig;)Lorg/apache/tomcat/InstanceManager; used in the signature] with root cause java.lang.LinkageError: loader constraint violation: when resolving method "org.apache.jasper.runtime.InstanceManagerFactory.getInstanceManager(Ljavax/servlet/ServletConfig;)Lorg/apache/tomcat/InstanceManager;" the class loader (instance of org/apache/jasper/servlet/JasperLoader) of the current class, org/apache/jsp/index_jsp, and the class loader (instance of org/codehaus/plexus/classworlds/realm/ClassRealm) for resolved class, org/apache/jasper/runtime/InstanceManagerFactory, have different Class objects for the type .getInstanceManager(Ljavax/servlet/ServletConfig;)Lorg/apache/tomcat/InstanceManager; used in the signature at org.apache.jsp.index_jsp._jspInit(index_jsp.java:47) at org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:49) at org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:180) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:335) at javax.servlet.http.HttpServlet.service(HttpServlet.java:725) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:534) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1081) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:658) at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745) To reproduce: git clone https://github.com/apache/tomcat-maven-plugin.git cd tomcat-maven-plugin git checkout tc8.x (or get the branch from svn) mvn clean install -pl :tomcat8-maven-plugin -am -Prun-its less tomcat8-maven-plugin/target/test-classes/tomcat-run-multi-config/foo.log On 1 October 2014 21:53, Konstantin Kolinko <knst.koli...@gmail.com> wrote: > 2014-10-01 9:31 GMT+04:00 <ol...@apache.org>: >> Author: olamy >> Date: Wed Oct 1 05:31:10 2014 >> New Revision: 1628603 >> >> URL: http://svn.apache.org/r1628603 >> Log: >> bump version to 3.0-SNAPSHOT >> >> Modified: >> tomcat/maven-plugin/branches/tc8.x/common-tomcat-maven-plugin/pom.xml >> tomcat/maven-plugin/branches/tc8.x/pom.xml >> tomcat/maven-plugin/branches/tc8.x/tomcat-maven-archetype/pom.xml >> tomcat/maven-plugin/branches/tc8.x/tomcat-maven-plugin-it/pom.xml >> tomcat/maven-plugin/branches/tc8.x/tomcat6-maven-plugin/pom.xml >> tomcat/maven-plugin/branches/tc8.x/tomcat7-maven-plugin/pom.xml >> tomcat/maven-plugin/branches/tc8.x/tomcat7-war-runner/pom.xml >> tomcat/maven-plugin/branches/tc8.x/tomcat8-maven-plugin/pom.xml >> >> tomcat/maven-plugin/branches/tc8.x/tomcat8-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat8/run/RunMojo.java > > A change to RunMojo.java has crawled in. It is unrelated to version > bumps in pom.xml files. > > My concern is that it is a non-trivial change that is not mentioned in > commit message. > >> tomcat/maven-plugin/branches/tc8.x/tomcat8-war-runner/pom.xml >> >> Modified: >> tomcat/maven-plugin/branches/tc8.x/common-tomcat-maven-plugin/pom.xml >> URL: >> http://svn.apache.org/viewvc/tomcat/maven-plugin/branches/tc8.x/common-tomcat-maven-plugin/pom.xml?rev=1628603&r1=1628602&r2=1628603&view=diff >> ============================================================================== >> --- tomcat/maven-plugin/branches/tc8.x/common-tomcat-maven-plugin/pom.xml >> (original) >> +++ tomcat/maven-plugin/branches/tc8.x/common-tomcat-maven-plugin/pom.xml >> Wed Oct 1 05:31:10 2014 >> @@ -24,7 +24,7 @@ >> <parent> >> <artifactId>tomcat-maven-plugin</artifactId> >> <groupId>org.apache.tomcat.maven</groupId> >> - <version>2.3-SNAPSHOT</version> >> + <version>3.0-SNAPSHOT</version> >> </parent> >> <artifactId>common-tomcat-maven-plugin</artifactId> >> <name>Apache Tomcat Maven Plugin :: Common API</name> > > (...) > >> Modified: >> tomcat/maven-plugin/branches/tc8.x/tomcat8-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat8/run/RunMojo.java >> URL: >> http://svn.apache.org/viewvc/tomcat/maven-plugin/branches/tc8.x/tomcat8-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat8/run/RunMojo.java?rev=1628603&r1=1628602&r2=1628603&view=diff >> ============================================================================== >> --- >> tomcat/maven-plugin/branches/tc8.x/tomcat8-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat8/run/RunMojo.java >> (original) >> +++ >> tomcat/maven-plugin/branches/tc8.x/tomcat8-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat8/run/RunMojo.java >> Wed Oct 1 05:31:10 2014 >> @@ -20,6 +20,7 @@ package org.apache.tomcat.maven.plugin.t >> >> import org.apache.catalina.Context; >> import org.apache.catalina.WebResource; >> +import org.apache.catalina.WebResourceRoot; >> import org.apache.catalina.WebResourceSet; >> import org.apache.catalina.loader.WebappLoader; >> import org.apache.catalina.webresources.EmptyResource; >> @@ -339,10 +340,13 @@ public class RunMojo >> >> getLog().debug( "classLoaderEntriesCalculator urls: " + urls ); >> >> - final URLClassLoader urlClassLoader = new URLClassLoader( >> urls.toArray( new URL[urls.size()] ) ); >> + final URLClassLoader urlClassLoader = new URLClassLoader( >> urls.toArray( new URL[urls.size()] ), // >> + >> Thread.currentThread().getContextClassLoader() ); >> >> final ClassRealm pluginRealm = getTomcatClassLoader(); >> >> + final WebResourceRoot previous = context.getResources(); >> + >> context.setResources( >> new MyDirContext( new File( >> project.getBuild().getOutputDirectory() ).getAbsolutePath(), // >> getPath(), // >> @@ -351,6 +355,13 @@ public class RunMojo >> @Override >> public WebResource getClassLoaderResource( String path ) >> { >> + >> + if (previous.getState().isAvailable()) >> + { >> + WebResource webResource = >> previous.getClassLoaderResource( path ); >> + log.debug( "foo" ); >> + } >> + >> log.debug( "RunMojo#getClassLoaderResource: " + >> path ); >> URL url = urlClassLoader.getResource( >> StringUtils.removeStart( path, "/" ) ); >> // search in parent (plugin) classloader >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org > For additional commands, e-mail: dev-h...@tomcat.apache.org > -- Olivier Lamy http://twitter.com/olamy | http://linkedin.com/in/olamy --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org