假设您的应用程序仅包含一个war文件。我的理解是,任何我需要的第三方库,我都可以在我的战争中提供,在WEB-INF/lib中。什么是打包企业应用程序的正确方法
今天我遇到了一些人,他告诉我关于JBoss 7及其模块概念的一些细节,建议应用程序不应该提供任何第三方库...但是请求库中的应用程序服务器的正确版本。
我更喜欢提供完整软件包的人,不需要其他用户必须确定的任何依赖关系,他们已满员。 现在,长话短说....有没有“Java EE标准”的答案,如何应对企业应用程序中的第三方库?
假设您的应用程序仅包含一个war文件。我的理解是,任何我需要的第三方库,我都可以在我的战争中提供,在WEB-INF/lib中。什么是打包企业应用程序的正确方法
今天我遇到了一些人,他告诉我关于JBoss 7及其模块概念的一些细节,建议应用程序不应该提供任何第三方库...但是请求库中的应用程序服务器的正确版本。
我更喜欢提供完整软件包的人,不需要其他用户必须确定的任何依赖关系,他们已满员。 现在,长话短说....有没有“Java EE标准”的答案,如何应对企业应用程序中的第三方库?
文档根目录包含一个名为WEB-INF的子目录,它可以包含下列文件和目录:
类:包含服务器端类的目录:小服务程序,企业bean类文件,实用程序类和JavaBeans组件
标记:包含标记文件的目录,它是标记库的实现
lib:包含JAR文件的目录,其中包含企业bean以及由服务器端类调用的库的JAR归档文件
部署描述符,如web.xml(Web应用程序部署描述符)和ejb-jar。 xml(EJB部署描述符)
因此/ WEB-INF/lib是正确的。
“标准”答案取决于您的Java EE应用服务器是否支持OSGi或JSR-277标准。
JBOSS version 7确实支持OSGi;早期版本可能不会。
所以这真的是两个答案:一个用于OSGi之前的服务器(“将JAR放入WEB-INF/lib中用于您的应用程序或服务器/ lib”)和OSGi之后(“使用OSGi”)。
你是说OSGi之后的服务器不支持在WEB-INF/lib中放置库吗? – vkraemer