1

我使用这个 cmd 行创建了一个包含三个类的 jar 文件:

C:\...\db>jar cvf views.jar Line.java Points.java Shapes.java

我可以将 jar 文件添加到 IDE,但无法将其导入代码。

另一件事是 jar 文件中的类是xxx.java,但是当查看另一个 jar 文件时,我注意到这些类是xxx.class

我不知道这是否是问题所在。

4

5 回答 5

3

Jar 只不过是归档(压缩)

您显然正在将.java文件压缩到您的jar文件中。

首先.java使用编译文件javac

而不是对生成的文件发出jar命令 .class

请参阅如何创建 Jar

于 2013-01-17T13:12:31.000 回答
2

在创建 JAR 文件而不是源 .java 文件时,您应该参考 .class 文件。

在这里,您可以找到有关从 Oracle 官方网站创建 JAR 的教程。

于 2013-01-17T13:13:37.717 回答
0

jar是一个归档工具,它只是打包你编译的java文件。这意味着您应该首先编译这些 .java 文件,然后将生成的 .class 文件添加到 jar 中。

于 2013-01-17T13:12:59.370 回答
0

我通常希望.jar文件包含类而不是.java文件(或者至少源可以在类旁边)

您可以将任何内容压缩到.jar文件中(它是.zip另一个名称 - 请参阅此处了解更多信息),但我怀疑 IDE 需要.class文件。请注意,我的 IDE (Intellij) 允许我指定包含源的 jar/zip,但这通常与包含已编译代码的 jar 并排。

于 2013-01-17T13:13:33.467 回答
0

您在 jar 中打包 java 源文件而不是已编译的类文件。如果你想让你的 jar 在 IDE 中使用,你应该打包类文件。就像是

C:\...\db>javac Line.java Points.java Shapes.java

进而

C:\...\db>jar cvf views.jar Line.class Points.class Shapes.class
于 2013-01-17T13:14:47.213 回答