Java .class文件与jar中的.java文件
你应该在.jar库中使用.class文件或.java文件吗?
我想拿一个我在.java文件中编写的类并将其添加到jar中,这样我就可以在tomcat的WEB-INF / lib目录中将它用作库。
我知道jar可以包含.class文件,.java文件或两者(或其他任何东西)。 我想知道在运行时特别需要什么才能让我的jar可以被JVM读取。 这个问题的答案告诉我.class文件可以工作,但.java文件也可以工作吗?
我已经找到了很多关于如何创建jar的描述,以及关于.java文件和.class文件之间差异的大量信息。 我想,我缺少的是了解JVM如何解释jar库。 它们是在运行时编译的吗?
谢谢
Jar文件是已编译的 java类的集合。 你需要一个jar中的.class
文件。 这个。 java
文件是你的源文件。
不需要。您需要JVM的字节代码(或类文件)来加载类(尽管您可以包含.java
文件,但Java Runtime不会执行它们)。 jar文件是一个zip文件(带有一点点元数据)。
此外,您可以将类添加到WEB-INF/classes
文件夹中(此外,正如您所提到的那样,代替到WEB-INF/lib
for jar)。