The <java> task does strange things with the classloader. My advice would be to use fork="yes" unless there is a reason not to.
As regards the exception you are seeing, this is as far as I can see behaviour as designed. If one gives a classpath to the <java> task, the classname *must* be in the classpath, for example: <path id="empty"/> <java classname="java.lang.Object" classpathref="empty"/> -- Could not find java.lang.Object. Make sure you have it in your classpath. However, there is a bug in ant with regard to the com.sun.xml.internal.bind.v2.* classes. There are in the rt.jar for java6, and these packages need to be placed in the JavaEnvUtils.java class. I suspect that your original build file ran into this bug. This should be fixed soon, but in the meantime, you should use fork="yes". Peter On 8/10/07, Ognjen Blagojevic <[EMAIL PROTECTED]> wrote: > Hi, > > Can someone try to explain this behavior of java ant task: > > <target name="test1"> > <java classname="com.sun.xml.internal.bind.v2.ContextFactory"/> > </target> > > gives: > > java.lang.NoSuchMethodException: (...)ContextFactory.main > > Which is what I expected. ContextFactory is class in JRE's lib rt.jar, > java task can find it, but it does not have main method. However, this task: > > > <path id="emptyClasspath"> > </path> > > <target name="test2"> > <java > classname="com.sun.xml.internal.bind.v2.ContextFactory" > classpathref="emptyClasspath"/> > </target> > > gives > > Could not find com.sun.xml.internal.bind.v2.ContextFactory. > Make sure you have it in your classpath > > Now, I expect when I put classpathref attribute in java task, that JRE > lib is still in the classpath, but it seems that this is not the case. > (?) Ant cannot find ContextFactory anymore. > > Is this a bug? > > I use latest released Ant (1.7.0) and Java (1.6.0_02) > > > Regards, > Ognjen > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]