如果您有一个名为myJar.jar
的jar文件位于 / myfolder 中,并且您想要使用名为myClass
的类,那么您如何从中执行此操作?命令行?
我以为会进入目录并说出java -cp myJar.jar.myClass
,但这不起作用。任何帮助将不胜感激。
答案 0 :(得分:228)
使用java -cp myjar.jar com.mypackage.myClass
。
如果课程不在课程中,则只需java -cp myjar.jar myClass
。
如果您不在myJar.jar
所在的目录中,那么您可以这样做:
在Unix或Linux平台上:
java -cp /location_of_jar/myjar.jar com.mypackage.myClass
在Windows上:
java -cp c:\location_of_jar\myjar.jar com.mypackage.myClass
答案 1 :(得分:21)
你想:
java -cp myJar.jar myClass
Documentation给出了以下示例:
C:> java -classpath C:\java\MyClasses\myclasses.jar utility.myapp.Cool
答案 2 :(得分:16)
Java中有两种类型的JAR文件:
包含清单文件的Runnable / Executable jar文件。
要运行Runnable jar,您可以使用java -jar fileName.jar
或java -jar -classpath abc.jar fileName.jar
不包含清单文件的简单jar文件,因此您只需通过提供其路径java -cp ./fileName.jar MainClass
答案 3 :(得分:5)
假设您位于myJar.jar
文件所在的目录中,且myClass
上有public static void main()
方法:
您使用以下命令行:
java -cp ./myJar.jar myClass
其中:
myJar.jar
位于当前路径中,请注意.
不在大多数系统的当前路径中。此处也首选完全限定路径。
myClass
是该类的完全限定的程序包路径,该示例假定myClass
位于默认包中是不好的做法,如果它在嵌套包中,它将是com.mycompany.mycode.myClass
。
答案 4 :(得分:0)
这是执行.jar
的正确方法,并且.jar
中的任何一个类都应具有main()
,以下是其参数:
java -DLB="uk" -DType="CLIENT_IND" -jar com.fbi.rrm.rrm-batchy-1.5.jar