java 在Jar文件中运行类

wb1gzix0  于 2023-03-21  发布在  Java
关注(0)|答案(5)|浏览(242)

如果您有一个名为myJar.jar的jar文件,位于**/myfolder**中,并且您希望从其中使用名为myClass的类,那么如何从命令行执行此操作?
我以为它会进入目录,并说java -cp myJar.jar.myClass,但这是行不通的。

iqxoj9l9

iqxoj9l91#

使用java -cp myjar.jar com.mypackage.myClass
1.如果类不在包中,则简单地为java -cp myjar.jar myClass
1.如果您不在myJar.jar所在的目录中,则可以执行以下操作:
1.在Unix或Linux平台上:
java -cp /location_of_jar/myjar.jar com.mypackage.myClass
1.在Windows上:
java -cp c:\location_of_jar\myjar.jar com.mypackage.myClass

w6mmgewl

w6mmgewl2#

您需要:

java -cp myJar.jar myClass

Documentation给出了以下示例:

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

up9lanfz3#

Java中有两种类型的JAR文件:
1.包含清单文件的可运行/可执行jar文件。要运行可运行jar,您可以使用java -jar fileName.jarjava -jar -classpath abc.jar fileName.jar
1.一个简单的jar文件,不包含清单文件,因此您只需通过指定其路径java -cp ./fileName.jar MainClass来运行主类

kcrjzv8t

kcrjzv8t4#

假设您位于myJar.jar文件所在的目录中,并且myClass上有一个public static void main()方法:
您可以使用以下命令行:

java -cp ./myJar.jar myClass

其中:

  1. myJar.jar当前路径中,注意.在大多数系统上不在当前路径中。这里也首选完全限定路径
  2. myClass是类的完全限定包路径,示例假设myClass默认包中,这是不好的做法,如果它在嵌套包中,它将是com.mycompany.mycode.myClass
xhv8bpkk

xhv8bpkk5#

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

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

相关问题