在Jar文件中运行类

时间:2011-07-21 18:13:53

标签: java command-line jar

如果您有一个名为myJar.jar的jar文件位于 / myfolder 中,并且您想要使用名为myClass的类,那么您如何从中执行此操作?命令行?

我以为会进入目录并说出java -cp myJar.jar.myClass,但这不起作用。任何帮助将不胜感激。

5 个答案:

答案 0 :(得分:228)

使用java -cp myjar.jar com.mypackage.myClass

  1. 如果课程不在课程中,则只需java -cp myjar.jar myClass

  2. 如果您不在myJar.jar所在的目录中,那么您可以这样做:

    1. 在Unix或Linux平台上:

      java -cp /location_of_jar/myjar.jar com.mypackage.myClass

    2. 在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文件:

  1. 包含清单文件的Runnable / Executable jar文件。 要运行Runnable jar,您可以使用java -jar fileName.jarjava -jar -classpath abc.jar fileName.jar

  2. 不包含清单文件的简单jar文件,因此您只需通过提供其路径java -cp ./fileName.jar MainClass

  3. 来运行主类

答案 3 :(得分:5)

假设您位于myJar.jar文件所在的目录中,且myClass上有public static void main()方法:

您使用以下命令行:

java -cp ./myJar.jar myClass

其中:

  1. myJar.jar位于当前路径中,请注意.不在大多数系统的当前路径中。此处也首选完全限定路径

  2. 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