首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java配置生成路径或WEB-INF/lib文件夹

Java配置生成路径或WEB-INF/lib文件夹
EN

Stack Overflow用户
提问于 2012-12-03 15:48:41
回答 2查看 13K关注 0票数 7

我见过很多教程和应用程序将jars放在构建路径中,而其他人则将其放在web-inf/lib文件夹中,这有什么显著的区别吗?这两种方法的优缺点是什么?将某个jar放在libs文件夹中,并将该jar放在构建路径中,这对我有什么指示意义?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-03 16:05:51

具有WEB-INF文件夹的应用程序是web应用程序。这意味着它将被打包为WAR文件并部署到服务器上。

如果您使用的是eclipse之类的IDE,并且您将项目导出为WAR文件,它将自动获取lib文件夹下的jars,并将它们与WAR打包在一起,这将使它们可用于在服务器上运行的应用程序( WEB-INF/lib下的jars包含在应用程序类路径中)。

如果您只是将它们放在其他任何地方并将它们包含在构建路径中,那么当您导出项目时,您必须声明您也希望包含构建路径中的jars。

基本上,没有太大的区别,但如果您知道在运行时(即在将应用程序部署到服务器之后)需要此jar,最好将其放在WEB-INF/lib文件夹下。

票数 12
EN

Stack Overflow用户

发布于 2012-12-03 16:00:49

你说的构建路径是什么意思?您使用的大多数JAR需要在构建(编译)期间可用,因为您的代码依赖于它们-否则它将无法编译。

真正的问题是将JAR放在WEB-INF/lib和容器/lib目录之间。通常,您应该始终将JAR放在WEB-INF/lib中的应用程序中。将它们放在全球范围内会产生几个后果:

  • singletons现在对所有web应用程序都是全局的(一个类加载器)如果部署了多个
  • ,则更容易出现内存泄漏如果一个库包含对任何类的引用(请参见上文)
  • 您不会复制相同的类(每个web应用程序都将重复使用相同的类,而不是在每个类加载器

中拥有单独的副本

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13679112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档