If you have a jar file called myJar.jar
located in /myfolder and you want to use the class called myClass
from it, how do you go about doing it from the command line?
I thought it would be to go into the directory and say java -cp myJar.jar.myClass
but that isn't working. Any help would be appreciated.
You want:
The Documentation gives the following example:
Use
java -cp myjar.jar com.mypackage.myClass
.If the class is not in a package then simply
java -cp myjar.jar myClass
.If you are not within the directory where
myJar.jar
is located, then you can do:On Unix or Linux platforms:
java -cp /location_of_jar/myjar.jar com.mypackage.myClass
On Windows:
java -cp c:\location_of_jar\myjar.jar com.mypackage.myClass
This is the right way to execute a
.jar
, and whatever one class in that.jar
should havemain()
and the following are the parameters to it :Assuming you are in the directory where
myJar.jar
file is and thatmyClass
has apublic static void main()
method on it:You use the following command line:
Where:
myJar.jar
is in the current path, note that.
isn't in the current path on most systems. A fully qualified path is preferred here as well.myClass
is a fully qualified package path to the class, the example assumes thatmyClass
is in the default package which is bad practice, if it is in a nested package it would becom.mycompany.mycode.myClass
.There are two types of JAR files available in Java:
Runnable/Executable jar file which contains manifest file. To run a Runnable jar you can use
java -jar fileName.jar
orjava -jar -classpath abc.jar fileName.jar
Simple jar file that does not contain a manifest file so you simply run your main class by giving its path
java -cp ./fileName.jar MainClass