Eclipse JAR创建与cmd行JAR创建

时间:2015-04-22 14:13:02

标签: java eclipse jar

我正在尝试通过cmd行创建一个JAR文件,但是相对于使用Eclipse创建的JAR文件进行编译时遇到了麻烦。

要使用命令行版本,请执行以下操作:

jar cf "myjar.jar" A.java B.java C.java

在我运行该命令的目录中,只存在三个文件。

当我从Eclipse构建它时,我右键单击三个选定的文件。然后执行:导出 - > JAR文件 - >完成(压缩JAR的内容)。

尺寸差异非常明显,19 KB(cmd)与43 KB(Eclipse)。当我尝试使用命令行创建JAR时,我的应用程序失败。我的猜测是创建的命令行JAR不包含所有必需的依赖项(在三个类之外)。

对我所做错的任何帮助都将不胜感激!

2 个答案:

答案 0 :(得分:2)

JDK的工具JAR只是一个ZIP压缩器,然后当你尝试:

jar cf "myjar.jar" A.java B.java C.java

你真的在创建一个包含3个java源代码的zip,你没有编译代码。

你必须这样做:

javac *.java
jar cf "myjar.jar" *.class

当您使用Eclipse生成它时,IDE假定您希望编译并将生成的类文件打包到JAR中。此外,还生成了一个MANIFEST.MF,它可以与命令行和Eclipse

不同

修改 如果要执行具有多个JAR的应用程序,请检查:Setting multiple jars in java classpath

答案 1 :(得分:1)

您编译.java文件了吗?

构建.jar文件时,必须包含.class文件,这些文件是已编译的java文件。

有关构建jar文件的信息,请参阅文档: https://docs.oracle.com/javase/tutorial/deployment/jar/build.html

Eclipse将在后台编译源代码,并在jar文件中包含已编译的版本。 Eclipse还提供了一个包含源文件大小的选项。