I have some trouble in defining an additional task in the following snippet of my build.xml:
<path id="jasper2" > <pathelement location="${catalina.home}/common/lib/servlet.jar" /> <pathelement location="${java.home}/../lib/tools.jar"/> <fileset dir="${catalina.home}/server/lib"> <include name="*.jar"/> </fileset> <fileset dir="${catalina.home}/common/lib"> <include name="*.jar"/> <exclude name="servlet.jar" /> </fileset> </path>
<property name="debugpath" refid="jasper2" /> <echo message="${debugpath}" /> <taskdef classname="org.apache.jasper.JspC" name="jasper2"> <classpath refid="jasper2" /> </taskdef>
Ant complains about not being able to load the JspC class because the class javax.servlet.ServletContext is referenced by it and cannot be found. However, the echo-Task shows that servlet.jar (which contains ServletContext) is the first jar file in the "jasper2" path. The stack trace is attached.
If the classpath that is printed by the echo-task is added to the CLASSPATH environment variable, then the task can be loaded.
How to configure ant that it uses the specified class path to locate the classes that are referenced by a task class?
Kind regards,
Johann Uhrmann
Stack trace:
BUILD FAILED
file:/home/hans/src/services1/build.xml:96: taskdef class org.apache.jasper.JspC cannot be found
at org.apache.tools.ant.taskdefs.Definer.addDefinition(Definer.java:240)
at org.apache.tools.ant.taskdefs.Definer.execute(Definer.java:162)
at org.apache.tools.ant.Task.perform(Task.java:341)
at org.apache.tools.ant.Target.execute(Target.java:309)
at org.apache.tools.ant.Target.performTasks(Target.java:336)
at org.apache.tools.ant.Project.executeTarget(Project.java:1339)
at org.apache.tools.ant.Project.executeTargets(Project.java:1255)
at org.apache.tools.ant.Main.runBuild(Main.java:609)
at org.apache.tools.ant.Main.start(Main.java:196)
at org.apache.tools.ant.Main.main(Main.java:235)
Caused by: java.lang.NoClassDefFoundError: javax/servlet/ServletContext
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:1590)
at java.lang.Class.getDeclaredConstructors(Class.java:1152)
at org.apache.tools.ant.AntClassLoader.initializeClass(AntClassLoader.java:479)
at org.apache.tools.ant.taskdefs.Definer.addDefinition(Definer.java:231)
... 9 more
--- Nested Exception ---
java.lang.NoClassDefFoundError: javax/servlet/ServletContext
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:1590)
at java.lang.Class.getDeclaredConstructors(Class.java:1152)
at org.apache.tools.ant.AntClassLoader.initializeClass(AntClassLoader.java:479)
at org.apache.tools.ant.taskdefs.Definer.addDefinition(Definer.java:231)
at org.apache.tools.ant.taskdefs.Definer.execute(Definer.java:162)
at org.apache.tools.ant.Task.perform(Task.java:341)
at org.apache.tools.ant.Target.execute(Target.java:309)
at org.apache.tools.ant.Target.performTasks(Target.java:336)
at org.apache.tools.ant.Project.executeTarget(Project.java:1339)
at org.apache.tools.ant.Project.executeTargets(Project.java:1255)
at org.apache.tools.ant.Main.runBuild(Main.java:609)
at org.apache.tools.ant.Main.start(Main.java:196)
at org.apache.tools.ant.Main.main(Main.java:235)
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]