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

发布于 2024-11-19 23:10:24 字数 286 浏览 2 评论 0原文

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

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

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

Assume your application consists only of one war file. My understanding is, that any third party library I need, and I am allowed to provide, I will include in my war, in WEB-INF/lib.

Today I came across someone who told me some details about JBoss 7 and their concept of modules, suggesting that an application should not deliver any third party library...but rather request the library in the correct version from the application server.

I am still more the type of guy who likes to deliver a full package, w/o any dependencies another user has to make sure, they are fullfilled. Now, long story short....is there a "Java EE standard" answer, how to cope with third party libraries in enterprise applications?'

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

行雁书 2024-11-26 23:10:25

根据 Java EE 6 教程

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

classes:包含服务器端类的目录:Servlet、企业 Bean 类文件、实用程序类和 JavaBeans 组件

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

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

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

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

Per the Java EE 6 Tutorial:

The document root contains a subdirectory named WEB-INF, which can contain the following files and directories:

classes: A directory that contains server-side classes: servlets, enterprise bean class files, utility classes, and JavaBeans components

tags: A directory that contains tag files, which are implementations of tag libraries

lib: A directory that contains JAR files that contain enterprise beans, and JAR archives of libraries called by server-side classes

Deployment descriptors, such as web.xml (the web application deployment descriptor) and ejb-jar.xml (an EJB deployment descriptor)

So /WEB-INF/lib is correct.

此生挚爱伱 2024-11-26 23:10:25

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

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

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

The "standard" answer depends on whether or not your Java EE app server supports the OSGi or JSR-277 standard.

JBOSS version 7 does support OSGi; earlier versions might not.

So it's really two answers: one for pre-OSGi servers ("put JARs in WEB-INF/lib for your app or the server /lib") and post-OSGi ("use OSGi").

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文