Hi,
There was a bug reported on a the optional junit task "junit task error
message"
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3978
This bug report, gives a workaround that I have applied to my project, i.e. load the
junit.jar and the ant-optional.jar is the same classloader then
declare junit task
with taskdef with a classpath that includes junit and ant-optional.jar.
When I lauched the ant build script on command line, it works perfectly.
However when I launch the ant build script from IDEA build 612, I still get the error
reported is the previous bug report.
WITH IDEA
-----------------
build.xml
Detected Java version: 1.3 in: C:\JBuilder4\jdk1.3.1\jre
Detected OS: Windows NT
parsing buildfile Z:\Source\Java\GUI\build.xml with URI =
file:Z:/Source/Java/GUI/build.xml
Project base dir set to: Z:\Source\Java\GUI
Build sequence for target `unittest' is [unittest]
Complete build sequence is [unittest, init, clean, version, compile, deploy, javadoc,
dist, package, all]
unittest
echo
Starting unit test
junit
Z:\Source\Java\GUI\build.xml:123: Could not create task of type: junit due to
java.lang.NoClassDefFoundError: junit/framework/TestListener
at org.apache.tools.ant.Project.createTask(Project.java:509)
at org.apache.tools.ant.UnknownElement.makeTask(UnknownElement.java:148)
at org.apache.tools.ant.UnknownElement.maybeConfigure(UnknownElement.java:83)
at org.apache.tools.ant.Task.perform(Task.java:216)
at org.apache.tools.ant.Target.execute(Target.java:184)
at org.apache.tools.ant.Target.performTasks(Target.java:202)
at org.apache.tools.ant.Project.executeTarget(Project.java:601)
at org.apache.tools.ant.Project.executeTargets(Project.java:560)
at com.intellij.ant.AntMain.a(AntMain.java:235)
at com.intellij.ant.AntMain.a(AntMain.java:199)
at com.intellij.ant.AntMain.main(AntMain.java:288)
--- Nested Exception ---
java.lang.NoClassDefFoundError: junit/framework/TestListener
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:486)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:111)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:248)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:297)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:286)
at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313)
at java.lang.Class.newInstance0(Native Method)
at java.lang.Class.newInstance(Class.java:237)
at org.apache.tools.ant.Project.createTask(Project.java:486)
at org.apache.tools.ant.UnknownElement.makeTask(UnknownElement.java:148)
at org.apache.tools.ant.UnknownElement.maybeConfigure(UnknownElement.java:83)
at org.apache.tools.ant.Task.perform(Task.java:216)
at org.apache.tools.ant.Target.execute(Target.java:184)
at org.apache.tools.ant.Target.performTasks(Target.java:202)
at org.apache.tools.ant.Project.executeTarget(Project.java:601)
at org.apache.tools.ant.Project.executeTargets(Project.java:560)
at com.intellij.ant.AntMain.a(AntMain.java:235)
at com.intellij.ant.AntMain.a(AntMain.java:199)
at com.intellij.ant.AntMain.main(AntMain.java:288)
Z:\Source\Java\GUI\build.xml:123: Could not create task of type: junit due to
java.lang.NoClassDefFoundError: junit/framework/TestListener
at org.apache.tools.ant.Project.createTask(Project.java:509)
at org.apache.tools.ant.UnknownElement.makeTask(UnknownElement.java:148)
at org.apache.tools.ant.UnknownElement.maybeConfigure(UnknownElement.java:83)
at org.apache.tools.ant.Task.perform(Task.java:216)
at org.apache.tools.ant.Target.execute(Target.java:184)
at org.apache.tools.ant.Target.performTasks(Target.java:202)
at org.apache.tools.ant.Project.executeTarget(Project.java:601)
at org.apache.tools.ant.Project.executeTargets(Project.java:560)
at com.intellij.ant.AntMain.a(AntMain.java:235)
at com.intellij.ant.AntMain.a(AntMain.java:199)
at com.intellij.ant.AntMain.main(AntMain.java:288)
--- Nested Exception ---
java.lang.NoClassDefFoundError: junit/framework/TestListener
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:486)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:111)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:248)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:297)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:286)
at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313)
at java.lang.Class.newInstance0(Native Method)
at java.lang.Class.newInstance(Class.java:237)
at org.apache.tools.ant.Project.createTask(Project.java:486)
at org.apache.tools.ant.UnknownElement.makeTask(UnknownElement.java:148)
at org.apache.tools.ant.UnknownElement.maybeConfigure(UnknownElement.java:83)
at org.apache.tools.ant.Task.perform(Task.java:216)
at org.apache.tools.ant.Target.execute(Target.java:184)
at org.apache.tools.ant.Target.performTasks(Target.java:202)
at org.apache.tools.ant.Project.executeTarget(Project.java:601)
at org.apache.tools.ant.Project.executeTargets(Project.java:560)
at com.intellij.ant.AntMain.a(AntMain.java:235)
at com.intellij.ant.AntMain.a(AntMain.java:199)
at com.intellij.ant.AntMain.main(AntMain.java:288)
Z:\Source\Java\GUI\build.xml:123: Could not create task of type: junit due to
java.lang.NoClassDefFoundError: junit/framework/TestListener
at org.apache.tools.ant.Project.createTask(Project.java:509)
at org.apache.tools.ant.UnknownElement.makeTask(UnknownElement.java:148)
at org.apache.tools.ant.UnknownElement.maybeConfigure(UnknownElement.java:83)
at org.apache.tools.ant.Task.perform(Task.java:216)
at org.apache.tools.ant.Target.execute(Target.java:184)
at org.apache.tools.ant.Target.performTasks(Target.java:202)
at org.apache.tools.ant.Project.executeTarget(Project.java:601)
at org.apache.tools.ant.Project.executeTargets(Project.java:560)
at com.intellij.ant.AntMain.a(AntMain.java:235)
at com.intellij.ant.AntMain.a(AntMain.java:199)
at com.intellij.ant.AntMain.main(AntMain.java:288)
--- Nested Exception ---
java.lang.NoClassDefFoundError: junit/framework/TestListener
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:486)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:111)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:248)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:297)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:286)
at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313)
at java.lang.Class.newInstance0(Native Method)
at java.lang.Class.newInstance(Class.java:237)
at org.apache.tools.ant.Project.createTask(Project.java:486)
at org.apache.tools.ant.UnknownElement.makeTask(UnknownElement.java:148)
at org.apache.tools.ant.UnknownElement.maybeConfigure(UnknownElement.java:83)
at org.apache.tools.ant.Task.perform(Task.java:216)
at org.apache.tools.ant.Target.execute(Target.java:184)
at org.apache.tools.ant.Target.performTasks(Target.java:202)
at org.apache.tools.ant.Project.executeTarget(Project.java:601)
at org.apache.tools.ant.Project.executeTargets(Project.java:560)
at com.intellij.ant.AntMain.a(AntMain.java:235)
at com.intellij.ant.AntMain.a(AntMain.java:199)
at com.intellij.ant.AntMain.main(AntMain.java:288)
Build completed with 3 errors and 1 warning. Time: 1 s
ON COMMAND LINE
-------------------------------
Z:\Source\Java\GUI>ant all
Buildfile: build.xml
init:
clean:
[delete] Deleting 276 files from Z:\Build\jrelease\TraderGUI\class
[delete] Deleting 1 files from Z:\Source\Java\GUI\src
version:
compile:
[javac] Compiling 67 source files to \Build\jrelease\TraderGUI\class
deploy:
package:
[jar] Building jar: Z:\Build\jrelease\TraderGUI\TraderGUI.jar
dist:
unittest:
[echo] Starting unit test
[junit] TestAmount completed successfully
all:
BUILD SUCCESSFUL
Total time: 1 minute 2 seconds
Why the behaviour is different from the command line ?
Is there a workaround ?
"This is expected behaviour. The junit.jar has to be in the same classloader
that the junit task is in. This means that you either have to place junit.jar
in $ANT_HOME/lib or remove optional.jar from $ANT_HOME/lib and use <taskdef
..> to define it with a classpath that includes junit and optional.jar" Peter Donald,
Apache foundation
Please let me know
Daniel Rosenberg,
[EMAIL PROTECTED]
EAP member
This message and any attachments (the "message") is
intended solely for the addressees and is confidential.
If you receive this message in error, please delete it and
immediately notify the sender. Any use not in accord with
its purpose, any dissemination or disclosure, either whole
or partial, is prohibited except formal approval. The internet
can not guarantee the integrity of this message.
BNP PARIBAS (and its subsidiaries) shall (will) not
therefore be liable for the message if modified.
---------------------------------------------
Ce message et toutes les pieces jointes (ci-apres le
"message") sont etablis a l'intention exclusive de ses
destinataires et sont confidentiels. Si vous recevez ce
message par erreur, merci de le detruire et d'en avertir
immediatement l'expediteur. Toute utilisation de ce
message non conforme a sa destination, toute diffusion
ou toute publication, totale ou partielle, est interdite, sauf
autorisation expresse. L'internet ne permettant pas
d'assurer l'integrite de ce message, BNP PARIBAS (et ses
filiales) decline(nt) toute responsabilite au titre de ce
message, dans l'hypothese ou il aurait ete modifie.
_______________________________________________
Eap-list mailing list
[EMAIL PROTECTED]
http://www.intellij.com/mailman/listinfo/eap-list