2011-07-14 107 views
3

假设您的应用程序仅包含一个war文件。我的理解是,任何我需要的第三方库,我都可以在我的战争中提供,在WEB-INF/lib中。什么是打包企业应用程序的正确方法

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

我更喜欢提供完整软件包的人,不需要其他用户必须确定的任何依赖关系,他们已满员。 现在,长话短说....有没有“Java EE标准”的答案,如何应对企业应用程序中的第三方库?

回答

2

Java EE 6 Tutorial

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

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

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

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

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

因此/ WEB-INF/lib是正确的。

0

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

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

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

+0

你是说OSGi之后的服务器不支持在WEB-INF/lib中放置库吗? – vkraemer

相关问题