gpt4 book ai didi

java - Wildfly 模块中未遵循 list 类路径

转载 作者:行者123 更新时间:2023-12-02 01:05:22 28 4
gpt4 key购买 nike

我正在尝试为 OpenText Documentum java 客户端创建 Wildfly 模块。之前我将其 jar 打包到 .war 文件中,我的应用程序可以正常工作,但它们的重量为 23Mb。

在 J2SE 中,您通常只需添加主 jar,即 dfc.jar其依赖项会自动添加,因为 Class-Path:条目 dfc.jar/META-INF/MANIFEST.MF 。但是,它似乎在 Wildfly 11 中不起作用:我创建了该模块,使我的 web 应用程序依赖于它,但是当我尝试加载 DfException 时主 jar Wildfly 中的类无法找到同一文件夹中的依赖项之一:

Caused by: java.lang.NoClassDefFoundError: org/aspectj/lang/Signature
at com.documentum.fc.common.DfException.<clinit>(DfException.java:710)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at org.foo.PrintClassloaders.printClassloader0(PrintClassloaders.java:50)

是否可以在不手动添加所有 jar 的情况下创建此模块?

这就是我所做的:

module add --name=documentum.dfc2 --absolute-resources="C:\Program Files\Documentum\Shared\dfc.jar"

src/main/resources/META-INF/MANIFEST.MF:

Dependencies: documentum.dfc2

PrintClassloader.java:

Class.forName("com.documentum.fc.common.DfException");

生成的module.xml:

<module xmlns="urn:jboss:module:1.1" name="documentum.dfc2">    
<resources>
<resource-root path="C:\Program Files\Documentum\Shared\dfc.jar"/>
</resources>
</module>

dfc.jar/META-INF/MANIFEST.MF:

Class-Path: All-MB.jar activation.jar aspectjrt.jar certj.jar commons-
codec-1.3.jar commons-lang-2.4.jar configservice-api.jar configservic
e-impl.jar cryptoj.jar cryptojce.jar cryptojcommon.jar dms-client-api
.jar jaxb-api.jar jaxb-impl.jar jcifs-krb5-1.3.1.jar jcm.jar jcmFIPS.
jar jcmandroidfips.jar jsr173_api.jar krbutil.jar log4j.jar questFixF
orJDK7.jar util.jar vsj-license.jar vsj-standard-3.3.jar xtrim-api.ja
r xtrim-server.jar

aspectjrt.jar位于同一文件夹中。为什么模块类加载器没有选择它?

最佳答案

你在那里尝试的东西对我来说看起来很奇怪。模块(=Java 库)属于模块文件夹,部署应包含一个部署描述符,其中列出了所需的所有模块。在最简单的情况下,您只需要 jboss-deployment-struction.xml 文件中的依赖项部分。请参阅http://docs.wildfly.org/12/Developer_Guide.html#jboss-deployment-structure-file

每个模块可以包含多个jar文件并依赖于其他模块。当您查看一些现有的modules.xml 文件时,您将看到它是如何进行的。 module.xml 中的路径名应该是相对的,否则您无法将它们部署到具有不同文件夹结构的另一台计算机上。

为此,您不需要任何 list 文件。

关于java - Wildfly 模块中未遵循 list 类路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60125437/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com