使用 JAR 文件

Using JAR Files

所以我仍然是 Java 的菜鸟,我正在尝试一些东西。

我最近使用 jar cvf <name>.jar <source files> 为我的 class 创建了一个 .jar 文件,然后使用该 jar 编译我的驱动程序 class (javac -cp <name>.jar Driver.java) 但我该如何现在 运行 class 使用 jar?

我尝试了以下 2 个命令:
java Driver 并且,
java -cp <name>.jar Driver.

第一个给了我一个 NoClassDefFoundError 用于 class ,而后者只给了我一个单行错误。

Error: Could not find or load man class Driver

我做错了什么?有没有可能我把它和其他东西混淆了?
我在不使用任何 IDE.

的情况下尽我所能

您应该将 jar 文件和编译器输出放入 classpath 并指定 main class:

java -classpath "<name.jar>;classes" Driver

编辑(感谢 Kayaman): 如果您是来自 linux/unix 的 运行 命令,则必须使用“:”作为分隔符(在 Windows 中使用“;”)。 "classes" 是包含编译器输出的文件夹的路径。

当创建一个可执行 jar(包含 class 和 main 方法的 jar)时,您应该告诉 jar 哪个是要执行的 mainClass,为此您应该创建一个名为 'Manifest.mf'.

文件应包含以下内容:

Main-Class: MyPackage.MyClass

并且在创建 jar 时,您应该使用它来包含您的清单:

jar cfm MyJar.jar Manifest.mf MyPackage/*.class

并启动您的 jar :

java -jar MyJar.jar