Run class in Jar file
JavaCommand LineJarJava Problem Overview
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.
Java Solutions
Solution 1 - Java
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
-
Solution 2 - Java
You want:
java -cp myJar.jar myClass
The Documentation gives the following example:
C:> java -classpath C:\java\MyClasses\myclasses.jar utility.myapp.Cool
Solution 3 - Java
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
Solution 4 - Java
Assuming you are in the directory where myJar.jar
file is and that myClass
has a public static void main()
method on it:
You use the following command line:
java -cp ./myJar.jar myClass
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
.
Solution 5 - Java
This is the right way to execute a .jar
, and whatever one class in that .jar
should have main()
and the following are the parameters to it :
java -DLB="uk" -DType="CLIENT_IND" -jar com.fbi.rrm.rrm-batchy-1.5.jar