java - 在 lib 文件夹中添加 jar 文件和在类路径中设置它之间的区别

标签 java jar

您能否解释一下在 lib 文件夹中添加 jar 和将 jar 添加到类路径中的区别。

两者都只是添加 jar 的一种方法(任何人都可以)或者有什么区别吗? 我尝试搜索但找不到任何答案。

最佳答案

如果您有一个捆绑为 WAR 的 Web 应用程序项目,那么将 jar 文件添加到 WEB-INF/lib 中,当部署在 servlet 容器(Jetty、Tomcat)中时,将自动将所有这些 jar 文件放入应用程序的类路径中)或应用程序服务器(GlassFish、Wildfly)中。请注意,这些库仅适用于正在部署的单个应用程序,不适用于此服务器中部署的任何其他应用程序。

如果您有一个简单的 jar,其中包含 lib 文件夹,那么将任何 jar 添加到该文件夹​​中都不会执行任何操作。对于必须自己执行的 jar 文件,您需要在类路径中指定要使用的库,否则您的 jar 将无法运行。对于这种情况,最好将库放在 jar 外部的 lib 文件夹中,这样您就可以在 MANIFEST 文件中引用它们。另一方面,您可以使用maven生成fat jar .

关于java - 在 lib 文件夹中添加 jar 文件和在类路径中设置它之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30548249/

相关文章:

java - 在java中迭代声明的数组列表

java - 为什么我收到错误 "Exception in thread "AWT-EventQueue- 0"java.lang.ArithmeticException:/by zero"?

java - 尝试使用现有的 Logger 对象,但出现 <identifier Expected> 错误?

java - 限制 JTextPane 内存使用

java - jar 与 .java 文件的使用以及编译器的奇怪行为

java - 将消息从死信移回主题

java - 创建一个可执行的jar

java - 自定义异常类未编译到 .class 文件中

java - 程序可以在我的电脑上运行,但不能在服务器上运行

java - ExceptionInInitializerError - 使用getResourceAsStream读取jar包中的文件