如何为 EAR 的 application.xml 中的模块指定类路径

发布于 2024-10-17 21:19:15 字数 384 浏览 6 评论 0原文

所以我有一个包含所有模块的 EAR。所有模块使用的共享 JAR 都放置在 EAR 的默认 ./lib/ 文件夹中。我还有多个版本的 JAR 文件,每个模块将使用其一个版本。例如,如果我的 EAR 中有以下战争:

project1.war
project2.war
project3.war

并且我有几个 JAR 文件:

common-classes-1.0.jar
common-classes-1.1.jar

那么,如何将project1 与common-classes-1.0.jar 关联,以及project2 和project3 与common-classes-1.1.jar 关联?

提前致谢

So I have an EAR that contains all of my modules. The shared JARs that are used by all the modules are placed in the default ./lib/ folder of the EAR. I also have multiple version of a JAR file that each module will use a version of. For example, if I have the following wars in my EAR:

project1.war
project2.war
project3.war

And I have a couple of JAR files:

common-classes-1.0.jar
common-classes-1.1.jar

So, how can I associate project1 with common-classes-1.0.jar, and project2 and project3 with common-classes-1.1.jar?

Thanks in advance

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

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

发布评论

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

评论(2

奢欲 2024-10-24 21:19:15

或者,您可以“重新打包”您的 war 文件以包含所需的 commons Jars。通过这种方式,您可以保留单个 EAR 文件。

Alternatively, you can "repackage" your war files to include the desidered commons Jars. In this way, you can keep a single EAR file.

长伴 2024-10-24 21:19:15

你不能; EAR 对其类路径没有这种级别的精细控制,除非您的应用程序服务器具有允许您执行此操作的非标准扩展。

这是 OSGi 设计的用例,但标准 JavaEE EAR 无法做到这一点。

最简单的选择是将 EAR 分成 2 个,一个包含 project1.warcommon-classes-1.0.jar,另一个包含 project2.warproject3.warcommon-classes-1.1.jar

You can't; EARs don't have that level of fine control over their classpath, unless your app-server has non-standard extensions that let you do this.

This is the sort of use-case that OSGi was designed for, but standard JavaEE EARs can't do this.

Your simplest option is to break up your EAR into 2, one with project1.war and common-classes-1.0.jar, and the other with project2.war, project3.war and common-classes-1.1.jar.

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