在公共库

时间:2016-04-27 16:41:43

标签: jboss classloader wildfly

我有一个小问题让我感到烦恼。我们为JBoss / Wildfly上部署的所有应用程序构建了许多公共库。其中一些公共库与JBoss模块有依赖关系。

EAR和WAR文件的常用方法是将jboss-deployment-structure.xml添加到存档中,该存档包含许多模块依赖项。

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

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

非常感谢任何例子!

1 个答案:

答案 0 :(得分:2)

您可以使用MANIFEST.MF声明JAR的依赖项。该行看起来像:

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

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

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