繁体   English   中英

在lib文件夹中添加jar文件和在classpath中进行设置之间的区别

[英]diffrence between adding jars files in lib folder and setting it in classpath

您能解释一下lib文件夹中的addng jar和将jar添加到classpath的区别吗?

都是添加jar的一种方法(任何人都可以使用)还是有什么区别? 我尝试搜索,但找不到任何答案。

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

如果您有一个带有jar文件夹的简单jar,那么将任何jar添加到该文件夹​​中将无济于事 对于必须自己执行的jar文件,您需要指定要在类路径中使用的库,否则jar将无法运行。 对于这种情况,最好将这些库放在jar之外的lib filder中,因此可以在MANIFEST文件中引用它们。 另一方面,您可以使用maven生成一个胖子罐

如果您正在使用任何第三方jar文件,则需要将其添加到classpath中,因为Java应用程序会尝试找出您在应用程序中使用的类。 在类路径中添加jar意味着您在执行时在类路径中显式添加了jar文件。 在lib文件夹中添加jar将在eclipse中完成,在执行时将在内部将jar文件添加到classpath中。

要验证这两种情况,请执行以下命令

ps -eaf | grep -i Java

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM