在Jar文件中运行类

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

我认为这将是进入目录并说java -cp myJar.jar.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

    2. 在Windows上:

      java -cp c:\location_of_jar\myjar.jar com.mypackage.myClass

你要:

 java -cp myJar.jar myClass 

文档给出了以下例子:

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

它们是java中可用的两种JAR文件

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

  2. 简单的jar文件这些不包含清单文件,所以你简单地通过给它的path运行你的主类java -cp ./fileName.jar MainClass

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

您使用以下命令行:

 java -cp ./myJar.jar myClass 

哪里:

  1. myJar.jar当前path中 ,请注意. 在大多数系统中不在当前path中。 这里也是一个完全合格的path

  2. myClass是类的完全限定包path ,该示例假定myClass处于默认包中,如果它位于嵌套包中,则为com.mycompany.mycode.myClass