ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 26570] - duplicate instances of interface com.sun.javadoc.RootDoc loaded
Date Mon, 02 Feb 2004 04:59:33 GMT
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=26570>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=26570

duplicate instances of  interface com.sun.javadoc.RootDoc loaded





------- Additional Comments From conor@cortexebusiness.com.au  2004-02-02 04:59 -------
In your custom task, I presume you are using the URLClassLoader constructor
without specifying a parent. This causes ClassLoader.java to use the
SystemClassLoader. That is probably not what you want - you really want to use
your task's classloader as the parent - that way you'll be sure to get the same
version of RootDoc.

Try changing the URLClassLoader constructor to something like
       URLClassLoader urlc = new URLClassLoader(new URL[] {url},
getClass().getClassLoader());

In Ant 1.6, the system class loader is fairly empty - just consisting of the JVM
itself and the Ant launcher jar. In Ant 1.5.4, everything is in the system class
loader.

I do find it odd that your custom task could even load your Foo class since I'm
not sure how it is finding tools.jar (which contains RootDoc) when it only uses
the system loader and your FooStuff.jar.

The above change should work in both Ant 1.5.4 and Ant 1.6

BTW, you should not need ant.jar in your classpath.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org


Mime
View raw message