在Jar文件中运行类

如果你在/ myfolder中有一个名为myJar.jar的jar文件,你想从它中使用名为myClass的类,你如何从命令行开始做呢?

我以为它会进入目录并说java -cp myJar.jar.myClass,但这是行不通的。任何帮助都将不胜感激。

360046 次浏览

你想要的:

java -cp myJar.jar myClass

文档给出了如下示例:

C:> java -classpath C:\java\MyClasses\myclasses.jar utility.myapp.Cool

假设你在myJar.jar文件所在的目录中,并且myClass有一个public static void main()方法:

您可以使用以下命令行:

java -cp ./myJar.jar myClass

地点:

  1. myJar.jar当前路径中,注意在大多数系统中.不在当前路径中。这里也首选完全限定路径

  2. myClass是一个到类的完全限定包路径,这个例子假设myClass默认包中,这是不好的做法,如果它在一个嵌套包中,它将是com.mycompany.mycode.myClass

使用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 < / p >

    2. Windows上的< p >:

      java -cp c:\location_of_jar\myjar.jar com.mypackage.myClass < / p >

    3. 李< / ol > < / >

Java中有两种类型的JAR文件:

  1. 包含manifest文件的可运行/可执行jar文件。 要运行一个Runnable jar,你可以使用java -jar fileName.jarjava -jar -classpath abc.jar fileName.jar

  2. 简单的jar文件,不包含清单文件,因此您只需通过给出其路径java -cp ./fileName.jar MainClass来运行主类

这是执行.jar的正确方法,无论.jar中的哪个类都应该具有main(),以下是它的参数:

java -DLB="uk" -DType="CLIENT_IND" -jar com.fbi.rrm.rrm-batchy-1.5.jar