http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1085
*** shadow/1085 Thu Mar 22 22:08:14 2001
--- shadow/1085.tmp.29396 Thu Mar 22 22:08:14 2001
***************
*** 0 ****
--- 1,74 ----
+ +============================================================================+
+ | java task seems to use a different class loader when forked |
+ +----------------------------------------------------------------------------+
+ | Bug #: 1085 Product: Ant |
+ | Status: NEW Version: 1.3 |
+ | Resolution: Platform: PC |
+ | Severity: Normal OS/Version: Other |
+ | Priority: Medium Component: Core tasks |
+ +----------------------------------------------------------------------------+
+ | Assigned To: [EMAIL PROTECTED] |
+ | Reported By: [EMAIL PROTECTED] |
+ | CC list: Cc: |
+ +----------------------------------------------------------------------------+
+ | URL: |
+ +============================================================================+
+ | DESCRIPTION |
+ I have a task description like this:
+ <java classname="RootSuite" fork="true" failonerror="true">
+ <classpath>
+ <pathelement location="${WEBLOGIC_HOME}/lib/weblogic.jar" />
+ <pathelement location="${JUNIT_JAR}" />
+ <pathelement location="${SRC_CLASSES}" />
+ <pathelement location="${TEST_CLASSES}" />
+ </classpath>
+ <sysproperty key="EJB_LIVE_TEST" value="true" />
+ <sysproperty key="java.naming.factory.initial"
+ value="weblogic.jndi.WLInitialContextFactory" />
+ <sysproperty key="java.naming.provider.url" value="${WEBLOGIC_URL}" />
+ <sysproperty key="java.naming.security.principal"
+ value="${WEBLOGIC_USER}" />
+ <sysproperty key="java.naming.security.credentials"
+ value="${WEBLOGIC_PASSWORD}" />
+ </java>
+
+ The java class is a unit test. One of the tests tries to establish a
+ javax.naming.InitialContext for WebLogic. When I run the java task forked, it
+ works. When I run it not forked, I get the following exception:
+
+ javax.naming.NoInitialContextException: Cannot instantiate class:
weblogic.jndi.
+ WLInitialContextFactory. Root exception is java.lang.ClassNotFoundException:
we
+ blogic.jndi.WLInitialContextFactory
+ at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
+ 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.forName0(Native Method)
+ at java.lang.Class.forName(Class.java:195)
+ at
com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.jav
+ a:45)
+ at
javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:6
+ 55)
+ at
javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:246
+ )
+ at javax.naming.InitialContext.init(InitialContext.java:222)
+ at javax.naming.InitialContext.<init>(InitialContext.java:178)
+ [My Classes]
+ at java.lang.reflect.Method.invoke(Native Method)
+ at
org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:12
+ 7)
+ at org.apache.tools.ant.taskdefs.Java.run(Java.java:260)
+ at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:123)
+ at org.apache.tools.ant.taskdefs.Java.execute(Java.java:87)
+ at org.apache.tools.ant.Target.execute(Target.java:153)
+ at org.apache.tools.ant.Project.runTarget(Project.java:898)
+ at org.apache.tools.ant.Project.executeTarget(Project.java:536)
+ at org.apache.tools.ant.Project.executeTargets(Project.java:510)
+ at org.apache.tools.ant.Main.runBuild(Main.java:421)
+ at org.apache.tools.ant.Main.main(Main.java:149)
+
+ Any ideas? It's not a huge priority (I get around the problem by forking),
but
+ it's a nuisance.