【问题标题】:Having a jboss-deployment-structure.xml with dependencies in common libraries有一个 jboss-deployment-structure.xml 与公共库中的依赖项
【发布时间】:2016-08-22 02:36:51
【问题描述】:

我有一个小问题让我有些恼火。我们为部署在 JBoss/Wildfly 上的所有应用程序构建了许多公共库。其中一些通用库依赖于 JBoss 模块。

EAR 和 WAR 文件的常用方法是在存档中添加一个 jboss-deployment-structure.xml,其中包含一堆模块依赖项。

我曾多次尝试将 jboss-deployment-structure.xml 添加到我的 Commons JAR 中,以便导入它们的 WAR/EAR-archives 将自动查看 JAR 所拥有的依赖项,但是,没有尝试这样做会呈现正确的结果。

有没有人成功地在打包在 WAR 文件中的 JAR 文件中声明“传递”依赖项,而不必在 WAR 文件的 jboss-deployment-structure.xml 中重新声明相同的依赖项?

任何示例将不胜感激!

【问题讨论】:

    标签: jboss classloader wildfly


    【解决方案1】:

    您可以使用 MANIFEST.MF 来声明 JAR 的依赖项。该行将类似于:

    Dependencies: org.some.module, org.another.module
    

    Maven 插件 maven-jar-plugin 会在构建过程中为您添加它。

    您最好的选择是创建自己的 JBoss 模块来保存所有不同应用程序使用的所有常见 JAR。该模块将有它自己的 module.xml 文件,声明对其中包含的 JAR 的依赖关系以及其他 JBoss 模块上的任何库。这些自定义模块也可以进行版本控制,应用程序也可以依赖于特定版本。

    【讨论】:

    • 很好的发现,将依赖项添加到 MANIFEST.MF 就可以了。
    猜你喜欢
    • 1970-01-01
    • 2013-02-06
    • 1970-01-01
    • 2020-12-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多