Java can';不能导入jar文件

Java can';不能导入jar文件,java,import,jar,Java,Import,Jar,我使用以下命令行创建了一个包含三个类的jar文件: C:\...\db>jar cvf views.jar Line.java Points.java Shapes.java 我可以将jar文件添加到IDE中,但无法将其导入到代码中 另一件事是jar文件中的类是xxx.java,但是当查看另一个jar文件时,我注意到这些类是xxx.class 我不知道这是否是问题所在。Jar只不过是归档(压缩) 显然,您正在将.java文件压缩到jar文件中 首先使用javac 然后对生成的.class

我使用以下命令行创建了一个包含三个类的jar文件:

C:\...\db>jar cvf views.jar Line.java Points.java Shapes.java
我可以将jar文件添加到IDE中,但无法将其导入到代码中

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


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

Jar只不过是归档(压缩)

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

首先使用
javac

然后对生成的
.class
文件发出
jar
命令


参考

Jar只不过是归档(压缩)

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

首先使用
javac

然后对生成的
.class
文件发出
jar
命令


reference

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

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

我通常希望
.jar
文件包含类,而不是
.java
文件(或者至少源代码可以与类一起)


您可以将任何内容压缩到
.jar
文件中(它是另一个名称的
.zip
,请参阅),但我怀疑IDE需要
.class
文件。请注意,我的IDE(Intellij)允许我指定一个包含源代码的jar/zip,但它通常位于包含编译代码的jar旁边。

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


您可以将任何内容压缩到
.jar
文件中(它是另一个名称的
.zip
,请参阅),但我怀疑IDE需要
.class
文件。请注意,我的IDE(Intellij)允许我指定一个包含源代码的jar/zip,但它通常与包含编译代码的jar一起使用。

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


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

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


您可以在Oracle官方网站上找到关于JAR创建的教程。

您可以在JAR中打包java源文件,而不是编译的类文件。如果您想在IDE中使用jar,应该打包类文件。差不多

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

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

在jar中打包java源文件而不是编译的类文件。如果您想在IDE中使用jar,应该打包类文件。差不多

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

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

要编译.java,我需要一个main方法(如果我错了,请纠正我),我没有main方法,没有必要这样做。但是如果没有main方法无法编译它,我将尝试修复它。抱歉,如果我错了,但我是java方面的新手:)要执行.class文件,您需要相应的.java中的main()。不适合编译。任何valida.java文件都可以编译。请注意,并非所有的.java文件都有main方法。谢谢,我现在更清楚了。我会看到你提到我的链接。要编译.java,我需要一个main方法(如果我错了,请纠正我),我没有main方法,没有必要。但是如果没有main方法无法编译它,我将尝试修复它。抱歉,如果我错了,但我是java方面的新手:)要执行.class文件,您需要相应的.java中的main()。不适合编译。任何valida.java文件都可以编译。请注意,并非所有的.java文件都有main方法。谢谢,我现在更清楚了。我会看到你提到我的链接。