我见过很多教程和应用程序将jars放在构建路径中,而其他人则将其放在web-inf/lib文件夹中,这有什么显著的区别吗?这两种方法的优缺点是什么?将某个jar放在libs文件夹中,并将该jar放在构建路径中,这对我有什么指示意义?
发布于 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文件夹下。
发布于 2012-12-03 16:00:49
你说的构建路径是什么意思?您使用的大多数JAR需要在构建(编译)期间可用,因为您的代码依赖于它们-否则它将无法编译。
真正的问题是将JAR放在WEB-INF/lib和容器/lib目录之间。通常,您应该始终将JAR放在WEB-INF/lib中的应用程序中。将它们放在全球范围内会产生几个后果:
中拥有单独的副本
https://stackoverflow.com/questions/13679112
复制相似问题