2009-11-21 80 views
3

我有一个jar文件,其中有几个具有静态主要方法的类。我可以在命令行的jar中执行它们吗?如果不是,我可以一个一个执行它们吗?通过命令行从Jar运行Java类

+0

好吗?我的答案是否适合你?如果您需要其他解决方案,请提供答案。 – jitter 2009-12-05 15:44:12

+0

我使用intellij mvn exec runner。这工作得很好。所有其他人都没有在我的情况下工作。 – 2009-12-08 02:16:39

回答

12

的Windows

java -classpath .;path/to/yourlib.jar your.package.path.ClassWithMain 

的Linux(我猜)

java -classpath .:path/to/yourlib.jar your.package.path.ClassWithMain 

或者,如果你不使用包只是做(适用于Windows)

java -classpath .;path/to/yourlib.jar ClassWithMain 
+1

+1但是java -cp path/to/yourlib.jar your.package.path.ClassWithMain也应该工作。这个。如果只有一个类在jar中是多余的。 – PSpeed 2009-11-21 04:13:07

+0

不应该(或不能)在Windows示例的类路径中使用反斜杠? – 2009-11-22 01:59:46

+0

Java会很高兴地在Windows下使用正斜杠,所以有时候在所有平台上都可以这么做。 – PSpeed 2009-11-22 05:38:45

0

如果你不这样做知道哪个类有静态主要方法,你可以使用一些java IDE,例如IntelliJ IDEA,它可以用main()方法找到类,然后你可以在你的项目中运行它。