在lib文件夹中添加jar文件和在classpath中设置它之间的差异

时间:2015-05-30 16:01:12

标签: java jar

请你解释lib文件夹中addng jar的区别,并将jar添加到classpath中。

只是添加罐子的方式(任何人都会工作)或者有什么区别吗? 我试过搜索但找不到任何答案。

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:2)

如果您正在使用任何第三方jar文件,那么您需要在classpath中添加它,因为您的java应用程序试图找出您在app中使用的类。 在类路径中添加jar意味着您在执行时显式地在类路径中添加jar文件。 在lib文件夹中添加jar将在eclipse中完成,在执行时将在classpath中内部添加jar文件。

验证两件事情都执行以下命令

ps -eaf | grep -i java

将在类路径中显示带有依赖项(jar文件)的应用程序。