Hrm.. I did build maven-jspc-plugin with commons.classloader as dependency with runtime scope and compile scope, too. And, I used that built plugin to compile my jsp files. But both failed with the same error.
I'll try again On Wed, May 16, 2012 at 4:34 PM, Felix Meschberger <[email protected]>wrote: > Hi, > > Hmm, this sounds like the commons.classloader should be a compile > dependency of the jspc plugin such that on runtime the commons.classloader > is visible to the plugin. > > You might try to add the commons.classloader as a dependency to the plugin > declaration and see whether it works. If so, you might create an issue > asking for the commons.classloader dependency to be explicitly added to the > jspc plugin. > > Regards > Felix > > Am 16.05.2012 um 18:03 schrieb sam ”: > > > I modified maven script to include > > org.apache.sling.commons.classloader-1.2.2.jar in classpath. > > > > > > exec "$JAVACMD" \ > > $MAVEN_OPTS \ > > -classpath > > > "${HOME}/.m2/repository/org/apache/sling/org.apache.sling.commons.classloader/1.2.2/org.apache.sling.commons.classloader-1.2.2.jar:${M2_HOME}/boot/classworlds-1.1.jar" > > \ > > "-Dclassworlds.conf=${M2_HOME}/bin/m2.conf" \ > > "-Dmaven.home=${M2_HOME}" \ > > ${CLASSWORLDS_LAUNCHER} $QUOTED_ARGS > > > > > > > > Then jspc works without complaining. > > Why would jspc use > org.apache.sling.commons.classloader.DynamicClassLoader > > ? > > > > Why would DynamicClassLoader have to be added to jvm's classpath ? > > > > > > > > > > On Wed, May 16, 2012 at 11:14 AM, sam ” <[email protected]> wrote: > > > >> Hey, > >> > >> I am using maven-jspc-plugin 2.0.7-SNAPSHOT to compile jsp files. > >> > >> I get the following error. > >> > >> $ mvn clean compile > >> [INFO] [clean:clean {execution: default-clean}] > >> [INFO] [enforcer:enforce {execution: enforce-java}] > >> [INFO] [resources:resources {execution: default-resources}] > >> [INFO] Using 'UTF-8' encoding to copy filtered resources. > >> [INFO] Copying 1 resource > >> [INFO] Copying 6 resources to META-INF > >> [INFO] Copying 2574 resources to jcr_root > >> [INFO] [compiler:compile {execution: default-compile}] > >> [INFO] Nothing to compile - all classes are up to date > >> [INFO] [jspc:jspc {execution: compile-jsp}] > >> [FATAL ERROR] org.apache.sling.maven.jspc.JspcMojo#execute() caused a > >> linkage error (java.lang.NoClassDefFoundError) and may be out-of-date. > >> Check the realms: > >> [FATAL ERROR] Plugin realm = > >> app0.child-container[org.apache.sling:maven-jspc-plugin:2.0.7-SNAPSHOT] > >> urls[0] = > >> > file:/home/sam/.m2/repository/org/apache/sling/maven-jspc-plugin/2.0.7-SNAPSHOT/maven-jspc-plugin-2.0.7-SNAPSHOT.jar > >> urls[1] = > >> > file:/home/sam/.m2/repository/org/apache/sling/org.apache.sling.api/2.2.2/org.apache.sling.api-2.2.2.jar > >> urls[2] = > >> > file:/home/sam/.m2/repository/org/apache/sling/org.apache.sling.scripting.jsp/2.0.18/org.apache.sling.scripting.jsp-2.0.18.jar > >> urls[3] = > >> > file:/home/sam/.m2/repository/org/apache/tomcat/jsp-api/6.0.14/jsp-api-6.0.14.jar > >> urls[4] = > >> > file:/home/sam/.m2/repository/org/apache/tomcat/el-api/6.0.14/el-api-6.0.14.jar > >> urls[5] = > >> > file:/home/sam/.m2/repository/org/apache/tomcat/servlet-api/6.0.14/servlet-api-6.0.14.jar > >> urls[6] = > >> > file:/home/sam/.m2/repository/org/apache/tomcat/jasper-el/6.0.14/jasper-el-6.0.14.jar > >> urls[7] = > >> > file:/home/sam/.m2/repository/org/apache/tomcat/jasper-jdt/6.0.14/jasper-jdt-6.0.14.jar > >> urls[8] = > >> > file:/home/sam/.m2/repository/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar > >> urls[9] = > >> > file:/home/sam/.m2/repository/javax/servlet/jsp/jsp-api/2.1/jsp-api-2.1.jar > >> urls[10] = > >> > file:/home/sam/.m2/repository/commons-io/commons-io/1.4/commons-io-1.4.jar > >> urls[11] = > >> > file:/home/sam/.m2/repository/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar > >> urls[12] = > >> > file:/home/sam/.m2/repository/org/apache/maven/maven-archiver/2.0/maven-archiver-2.0.jar > >> urls[13] = > >> > file:/home/sam/.m2/repository/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar > >> urls[14] = > >> > file:/home/sam/.m2/repository/org/codehaus/plexus/plexus-archiver/1.0-alpha-3/plexus-archiver-1.0-alpha-3.jar > >> urls[15] = > >> > file:/home/sam/.m2/repository/org/slf4j/slf4j-api/1.5.2/slf4j-api-1.5.2.jar > >> urls[16] = > >> > file:/home/sam/.m2/repository/org/slf4j/slf4j-simple/1.5.2/slf4j-simple-1.5.2.jar > >> [FATAL ERROR] Container realm = plexus.core > >> urls[0] = file:/home/sam/opt/maven/lib/maven-2.2.1-uber.jar > >> [INFO] > >> ------------------------------------------------------------------------ > >> [ERROR] FATAL ERROR > >> [INFO] > >> ------------------------------------------------------------------------ > >> [INFO] org/apache/sling/commons/classloader/DynamicClassLoader > >> org.apache.sling.commons.classloader.DynamicClassLoader > >> [INFO] > >> ------------------------------------------------------------------------ > >> [INFO] Trace > >> java.lang.NoClassDefFoundError: > >> org/apache/sling/commons/classloader/DynamicClassLoader > >> at > >> > org.apache.sling.scripting.jsp.jasper.servlet.JspServletWrapper.loadTagFile(JspServletWrapper.java:241) > >> at > >> > org.apache.sling.scripting.jsp.jasper.compiler.TagFileProcessor.loadTagFile(TagFileProcessor.java:574) > >> at > >> > org.apache.sling.scripting.jsp.jasper.compiler.TagFileProcessor.access$000(TagFileProcessor.java:49) > >> at > >> > org.apache.sling.scripting.jsp.jasper.compiler.TagFileProcessor$TagFileLoaderVisitor.visit(TagFileProcessor.java:625) > >> at > >> > org.apache.sling.scripting.jsp.jasper.compiler.Node$CustomTag.accept(Node.java:1507) > >> at > >> > org.apache.sling.scripting.jsp.jasper.compiler.Node$Nodes.visit(Node.java:2338) > >> at > >> > org.apache.sling.scripting.jsp.jasper.compiler.Node$Visitor.visitBody(Node.java:2388) > >> at > >> > org.apache.sling.scripting.jsp.jasper.compiler.Node$Visitor.visit(Node.java:2394) > >> at > >> > org.apache.sling.scripting.jsp.jasper.compiler.Node$Root.accept(Node.java:489) > >> at > >> > org.apache.sling.scripting.jsp.jasper.compiler.Node$Nodes.visit(Node.java:2338) > >> at > >> > org.apache.sling.scripting.jsp.jasper.compiler.TagFileProcessor.loadTagFiles(TagFileProcessor.java:643) > >> at > >> > org.apache.sling.scripting.jsp.jasper.compiler.Compiler.generateJava(Compiler.java:191) > >> at > >> > org.apache.sling.scripting.jsp.jasper.compiler.Compiler.compile(Compiler.java:311) > >> at > org.apache.sling.maven.jspc.JspcMojo.processFile(JspcMojo.java:362) > >> at > >> org.apache.sling.maven.jspc.JspcMojo.executeInternal(JspcMojo.java:316) > >> at org.apache.sling.maven.jspc.JspcMojo.execute(JspcMojo.java:228) > >> at > >> > org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490) > >> at > >> > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694) > >> at > >> > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556) > >> at > >> > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535) > >> at > >> > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387) > >> at > >> > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348) > >> at > >> > org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180) > >> at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328) > >> at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138) > >> at org.apache.maven.cli.MavenCli.main(MavenCli.java:362) > >> at > >> org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60) > >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > >> at > >> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > >> at > >> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > >> at java.lang.reflect.Method.invoke(Method.java:597) > >> at > org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) > >> at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) > >> at > >> org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) > >> at org.codehaus.classworlds.Launcher.main(Launcher.java:375) > >> Caused by: java.lang.ClassNotFoundException: > >> org.apache.sling.commons.classloader.DynamicClassLoader > >> at java.net.URLClassLoader$1.run(URLClassLoader.java:202) > >> at java.security.AccessController.doPrivileged(Native Method) > >> at java.net.URLClassLoader.findClass(URLClassLoader.java:190) > >> at java.lang.ClassLoader.loadClass(ClassLoader.java:306) > >> at > >> > org.codehaus.classworlds.RealmClassLoader.loadClassDirect(RealmClassLoader.java:195) > >> at > >> > org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassRealm.java:255) > >> at > >> > org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassRealm.java:274) > >> at > >> > org.codehaus.classworlds.RealmClassLoader.loadClass(RealmClassLoader.java:214) > >> at java.lang.ClassLoader.loadClass(ClassLoader.java:247) > >> ... 35 more > >> > >> > >> > >> How do you use jspc plugin? > >> > >> > >> my pom.xml is > >> <build> > >> <plugins> > >> <plugin> > >> <groupId>org.apache.sling</groupId> > >> <artifactId>maven-jspc-plugin</artifactId> > >> <executions> > >> <execution> > >> <id>compile-jsp</id> > >> <goals> > >> <goal>jspc</goal> > >> </goals> > >> <configuration> > >> > >> <sourceDirectory>${basedir}/src/main/content/jcr_root</sourceDirectory> > >> </configuration> > >> </execution> > >> </executions> > >> </plugin> > >> </plugins> > >> </build> > >> > >> And, I get the same error even if I put this in dependencies: > >> <dependency> > >> <groupId>org.apache.sling</groupId> > >> <artifactId>org.apache.sling.commons.classloader</artifactId> > >> <version>1.2.2</version> > >> </dependency> > >> > >> > >> > >> > >> > >> > >
