New Options in Javac 1.5/5: -classpath==-cp

4 new options were added to Javac in JDK 1.5/5:

-cp<path>    Specify where to find user class files
-version Version information
-X Print a synopsis of nonstandard options
-J<flag> Pass <flag> directly to the runtime system
I didn't notice them until recently, more than 2 years after Tiger was first released. The official Javac 1.5 docs page doesn't mention -cp and -version, either. I stumbled upon them when I looked at the output from javac -help.

It seems -cp was added in response to bug 4626998 (RFE) Allow "-cp" option to javac to set classpath.

What is the difference between -cp and -classpath options? Prior to JDK 1.5, -cp can be used on java command, but not on javac, whereas -classpath can be used with both java and javac. I tested Javac 1.4.2 with -cp option on both Windows and Solaris, and it's not recognized. Starting from JDK 1.5, -cp and -classpath are synonymous, and I confirmed that on Windows and Solaris.

There is no -version option in javac from 1.0 to 1.4.2. That's a fact I find hard to believe. To get version info from pre-5.0 javac, you will need to -J-version option to get the underlying JVM version, assuming the two versions are the same:
/usr/jdk/142/bin/javac -J-version Test.java
java version "1.4.2_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_06-b03)
Java HotSpot(TM) Client VM (build 1.4.2_06-b03, mixed mode)
You can use the same trick in JDK 1.5, but the new -version option is better:
C:\tools\jdk5\bin\javac -version -cp %JAVAEE_HOME%\lib\javaee.jar HelloWorldServlet.java
-J is not really a new option. It was just not listed by javac -help prior to 1.5. This option allows you to pass flags/options to the underlying JVM. Note it's not a standard javac option. For example,
javac -J-Xms512m -J-Xmx512m -J-showversion -classpath lib/foo.jar -d build/classes Test.java


Anna said...

Great and Useful Article.

Online Java Course

Java Online Training

Java Course Online

J2EE training

online J2EE training

Best Recommended books for Spring framework

Java Interview Questions

Java Training Institutes in Chennai

Java Training in Chennai

J2EE Training in Chennai

java j2ee training institutes in chennai


Thanks for this article very helpful. thanks. math.pow

Ava said...

Very useful stuff you describe here. Thanks for sharing such wonderful information.

see page said...

I think it is very interesting

Alishia said...

For me this blog is great, this blog contains a lot of important things ..

oasisproperties17 said...

Our AutoCAD training will be planned for standard weekdays and ends of the week dependent on the understudies demand. We do have quick track AutoCAD training and online AutoCAD training with coordinated premise. We are giving more AutoCAD training for corporates which workers of their organization will be benefits with our training.

For More Info:- AutoCAD course in Gurgaon

aditya said...

Thanks for sharing this valuable information to our vision. You have posted a trust worthy blog keep sharing.

Derivative Calculator
How to find the height of a trapezoid
Area of a Rectangle

Diyalabs said...

Thanks for sharing such a helpful, and understandable blog. I really enjoyed reading it.

Robots for kids
Robotic Online Classes
Robotics School Projects
Programming Courses Malaysia
Coding courses
Coding Academy
coding robots for kids
Coding classes for kids
Coding For Kids

aditya said...

I read that Post and got it fine and informative.