打包企业应用程序的正确方法是什么

时间:2011-07-14 15:02:37

标签: java java-ee jboss7.x

假设您的应用程序仅包含一个war文件。我的理解是,我需要的任何第三方图书馆,我都可以提供,我将在战争中加入WEB-INF / lib。

今天我遇到了一些人,他告诉我一些关于JBoss 7及其模块概念的细节,建议应用程序不应该提供任何第三方库......而是从应用程序服务器请求正确版本的库。

我更喜欢那种喜欢提供完整包装的人,没有其他用户必须确保的任何依赖,他们已经满满的。 现在,长话短说....有一个“Java EE标准”答案,如何应对企业应用程序中的第三方库?'

2 个答案:

答案 0 :(得分:2)

根据Java EE 6 Tutorial

  

文档根目录包含一个名为WEB-INF的子目录,该子目录可以包含以下文件和目录:

     

classes:包含服务器端类的目录:servlet,企业bean类文件,实用程序类和JavaBeans组件

     

标签:包含标签文件的目录,标签文件是标签库的实现

     

lib:包含企业bean的JAR文件的目录,以及服务器端类调用的库的JAR归档

     

部署描述符,例如web.xml(Web应用程序部署描述符)和ejb-jar.xml(EJB部署描述符)

所以/ WEB-INF / lib是正确的。

答案 1 :(得分:0)

“标准”答案取决于您的Java EE应用服务器是否支持OSGi或JSR-277标准。

JBOSS version 7确实支持OSGi;早期版本可能没有。

所以它真的有两个答案:一个用于预OSGi服务器(“将JAR放在WEB-INF / lib中用于您的应用程序或服务器/ lib”)和后OSGi(“使用OSGi”)。