/WEB-INF/classes vs /WEB-INF/lib

2022-09-02 03:06:16

我想将我的Web类(bean,filter,servlets)打包成jar,并将其与其他实用程序jar一起放入目录中,并完全放弃目录。Java EE6/WEB-INF/lib//WEB-INF/classes/

两者之间在类加载,访问应用程序上下文等方面是否有任何实质性差异?

谢谢。

PS:每当谷歌搜索任何java规范时,我总是被重定向到Oracle文档索引,该索引距离原始URL只有几十次点击。有人知道那里发生了什么吗?


答案 1

我会去.它允许您在调试模式下运行应用程序,并在更改时热插拔类。如果将所有内容打包为 jar,则必须在每次更改类时重新打包并重新部署应用。/WEB-INF/classes


答案 2

好吧,很快:假设你有类,如果你把它放在jar和目录中,并将相同的类复制到其中,那么该应用程序的classloader将使用最后一个(from)。org.example.Test.classWEB-INF/lib/WEB-INF/classes/WEB-INF/classes/

有时你可以把它作为优势 - 我有一个库,它有一个错误......我寻找该类的来源(错误在哪里;我错过了我如何知道该错误在该类中的部分,这是另一个故事),我将该类添加到具有固定代码的项目中,并且它被编译到库中仍然存在。固定类将使用,直到库被修复。WEB-INF/classes/WEB-INF/lib/


推荐