我对我一直认为理所当然的事情有了第二个想法.即,在具有以下结构的EAR中:
EAR
\-- boo-ejb.jar
\-- foo-web.war
| \--WEB-INF
| \--lib
\--lib
Run Code Online (Sandbox Code Playgroud)
..我想我理解正确的是WEB-INF/lib目录是罐子只能由Web应用程序和EAR级别所需的lib的罐子被需要ejb.jar为好.理由是以某种方式使依赖关系更清晰.但是,为什么不将所有内容转储到EAR级别的lib文件夹中?当然,如果存在某种冲突,我们希望深入了解和调查.这不是一个更清洁的解决方案,更不容易掩盖潜在的兼容性/依赖性不匹配问题吗?
你是绝对正确的 - 它会更清晰,更不容易出现依赖性不匹配的错误.
但...
如果您不在EAR中分发Web应用程序,该怎么办?你会把libs放在哪里?您将如何在不同的EAR中分发Web应用程序,以便根据一组Web应用程序组合企业应用程序?
WEB-INF/lib也适用于只能包含资源的jar(不包含任何类).那么你会把面向Web的资源罐放在EAR级别的lib中吗?我不这么认为.
在EAR的lib上使用WEB-INF/lib可能有更多的理由,但上述两个/三个案例应该足以说服你重新思考管理库的策略.
| 归档时间: |
|
| 查看次数: |
6213 次 |
| 最近记录: |