gpt4 book ai didi

java - WildFly 9.0.2 类加载问题

转载 作者:太空宇宙 更新时间:2023-11-04 11:55:41 24 4
gpt4 key购买 nike

我在 WildFly 服务器中面临类加载问题。我已在 WildFly Standalone 服务器中部署了 EAR 文件。并通过jboss-deployment-struction.xml声明依赖关系。

除了这个类之外,一切似乎都工作正常:

Caused by: java.lang.ClassNotFoundException: com.sun.el.ExpressionFactoryImpl
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at javax.el.FactoryFinder.newInstance(FactoryFinder.java:88)

我尝试通过将 org.glassfish.javax.el 模块添加到 jboss-deployment-struction.xml 来解决此问题:

<jboss-deployment-structure>
<deployment>
<dependencies>
<module name="org.glassfish.javax.el" export= "TRUE"/>
<module name="xxxxxxxx" export= "TRUE"/>
</dependencies>
</deployment>
</jboss-deployment-structure>

我还尝试通过将其添加到配置文件中的 global-modules 来解决。但我仍然遇到同样的错误。

<global-modules>
<module name="org.glassfish.javax.el" slot="main"/>
</global-modules>

我尝试通过在 org.jboss.classloader 记录器类别上启用 TRACE 来记录类加载,但没有成功。

然后我启用了从 JAVA_OPTS (-verbose:class) 到控制台的类加载,但在日志中找到了该类。事实上,我在日志中的jboss-deployment-struct.xml中没有找到很多提到的jar。

有人可以帮我解决这个问题吗?预先感谢您!

最佳答案

你错过了el-api依赖,你可以添加以下jar

<dependency>
<groupId>javax.el</groupId>
<artifactId>el-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>javax.el</groupId>
<artifactId>javax.el-api</artifactId>
<version>3.0.0</version>
<scope>test</scope>
</dependency>

然后你遇到了 ClassNotFoundException:com.sun.el.E​​xpressionFactoryImpl ,你错过了 el-impl jar

<dependency>
<groupId>org.glassfish.web</groupId>
<artifactId>el-impl</artifactId>
<version>2.2</version>
<scope>test</scope>
</dependency>

关于java - WildFly 9.0.2 类加载问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41418491/

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