I'm doing some trouble-shooting which requires me to know the default classpath under windows. There's java code which will do this (e.g. http://dev-answers.blogspot.com/2006/06/how-do-you-print-java-classpath.html), but I would really like to see something like you would get from perl -V:


Does Java have a quick command-line way of doing this?

up vote 10 down vote accepted
  1. jdk/bin/jps should list all the java process IDs running that system
  2. subsequently invoke jdk/bin/jinfo <pid> to see lot of information... what you require is also there...
  • No more direct way to get the info?! – vonbrand May 7 '13 at 23:58
  • since the requirement is to get the information from command line, I said this. This is the easiest way in command line. if graphical view is ok, there are tools jvisualvm, jconsole, profilers, etc. From code we can get the same information using System.out.println(System.getProperty("java.class.path")); – K Adithyan May 8 '13 at 6:16

No need to print the default classpath. In Java, the default classpath is just the current directory:

If -classpath and -cp are not used and CLASSPATH is not set, the user class path consists of the current directory (.).

(documentation of java:)

Note: For completeness' sake: Theree are two other paths where java will look for stuff:

  • the bootstrap class path
  • the extension directory

The bootstrap class path by default points to parts of the JDK, and you almost never want to mess with it (unless you want to override part of the JDK), so you probably should not worry about it. The extension directories are for extending the JDK; see http://docs.oracle.com/javase/7/docs/technotes/guides/extensions/index.html

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.