所以我仍然是Java中的菜鸟,我正在尝试一些事情。
我最近使用jar cvf <name>.jar <source files>
为我的类创建了一个.jar文件,然后使用该jar来编译我的驱动程序类(javac -cp <name>.jar Driver.java
),虽然我现在如何使用jar运行该类?
我尝试了以下两个命令:
java Driver
和,
java -cp <name>.jar Driver
。
第一个给了我一个NoClassDefFoundError
用于所使用的类,而后者只给了我一行错误。
错误:无法找到或加载man类驱动程序
我做错了什么?有可能我把这个混淆了吗?
我试图尽可能多地使用任何IDE。
答案 0 :(得分:2)
您应该将jar文件和编译器输出放入类路径并指定主类:
java -classpath "<name.jar>;classes" Driver
编辑(感谢Kayaman):
如果你从linux / unix运行命令,你必须使用&#34;:&#34;作为分隔符(在Windows中&#34 ;;&#34;)。 &#34;类&#34;是包含编译器输出的文件夹的路径。
答案 1 :(得分:0)
当创建一个可执行jar(jar包含一个带有main方法的类)时,你应该告诉jar要执行的mainClass,为此你应该创建一个名为&#39; Manifest.mf&#39;的文件。
该文件应包含:
Main-Class: MyPackage.MyClass
创建jar时,你应该用它来包含你的清单:
jar cfm MyJar.jar Manifest.mf MyPackage/*.class
启动你的jar:
java -jar MyJar.jar