【发布时间】:2012-09-29 20:28:22
【问题描述】:
需要通过 unix 控制台从 jar 包中运行特定的 java 类。可能吗?谢谢
【问题讨论】:
需要通过 unix 控制台从 jar 包中运行特定的 java 类。可能吗?谢谢
【问题讨论】:
不能从终端调用类的特定方法。
你只能用java -cp JarFile.jar package.ClassName调用main方法
或者,如果您的 jar 包含清单文件,那么您可以这样做:java -jar pJarFile.jar。
【讨论】:
java -cp JarFile.jar package.ClassName 和 package.ClassName 作为包含 main 方法的类。
使用
java -cp myJar.jar myClass
-cp 选项在手动设置类路径时使用,即给出 jar 文件位置的完整路径,然后运行命令
例如。
C:> java -cp C:\java\MyClasses\myJar.jar myClass
【讨论】:
要运行 jar 文件,您可以采用以下方法中的 任一。它们都要求您知道编写main(String[] arg) 方法的类的完全限定名。
假设你的类包含 main 方法是com.myclass.MainClass
你可以直接运行jar。将 jar 文件保存在运行此命令的位置
java -cp yourjarfile.jar com.myclass.MainClass
创建一个包含以下内容的清单manifest.mf 文件
Main-class: com.myclass.MainClass
现在按如下方式创建 jar 文件
jar -cmf manifest.mf yourjarfile.jar <your class file location>
使用以下命令运行此 jar
java -jar yourjarfile.jar
【讨论】:
是的,使用-jar参数:
java -jar MyProgram.jar
【讨论】:
您可以通过以下方式提取特定的类文件:
jar xf MyProgram.jar theclass.class
它会在你的当前目录中结束
然后运行类文件
java theclass
【讨论】: