Skip to Main Content

Java HotSpot Virtual Machine

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Current Working Directory in Java classpath

srikanth vallabhaneniOct 18 2012 — edited Oct 28 2012
Can someone explain why the current working directory is getting added to the classpath in these scenarios when I did not include "." in the CLASSPATH?

http://docs.oracle.com/javase/6/docs/technotes/tools/windows/classpath.html says that current working directory gets added only when CLASSPATH is not set.


C:\TEMP>set CLASSPATH=;;;



C:\TEMP>%JAVA_HOME%\bin\java test.Test

java.class.path=;;;

classloader:sun.misc.Launcher$AppClassLoader@1cde100

classloader path:[file:/C:/TEMP/, file:/C:/TEMP/, file:/C:/TEMP/, file:/C:/TEMP/]



C:\TEMP>set CLASSPATH=



C:\TEMP>%JAVA_HOME%\bin\java test.Test

java.class.path=.

classloader:sun.misc.Launcher$AppClassLoader@1a16869

classloader path:[file:/C:/TEMP/]



C:\TEMP>set CLASSPATH=a



C:\TEMP>%JAVA_HOME%\bin\java test.Test

Exception in thread "main" java.lang.NoClassDefFoundError: test/Test

Caused by: java.lang.ClassNotFoundException: test.Test

at java.net.URLClassLoader$1.run(URLClassLoader.java:202)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:190)

at java.lang.ClassLoader.loadClass(ClassLoader.java:306)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)

at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

Could not find the main class: test.Test. Program will exit.



C:\TEMP>set CLASSPATH=a;



C:\TEMP>%JAVA_HOME%\bin\java test.Test

java.class.path=a;

classloader:sun.misc.Launcher$AppClassLoader@1a16869

classloader path:[file:/C:/TEMP/a, file:/C:/TEMP/]



C:\TEMP>set CLASSPATH=;a



C:\TEMP>%JAVA_HOME%\bin\java test.Test

java.class.path=;a

classloader:sun.misc.Launcher$AppClassLoader@1a16869

classloader path:[file:/C:/TEMP/, file:/C:/TEMP/a]



C:\TEMP>
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Nov 25 2012
Added on Oct 18 2012
13 comments
1,773 views