【问题标题】:WildFly 9.0.2 classloading issuesWildFly 9.0.2 类加载问题
【发布时间】:2017-05-16 01:38:32
【问题描述】:

我在 WildFly 服务器中遇到类加载问题。我已经在 WildFly 独立服务器中部署了我的 EAR 文件。并通过jboss-deployment-structure.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-structure.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-structure.xml 中提到的许多罐子。

有人可以帮我解决这个问题吗?提前谢谢!

【问题讨论】:

  • 您能否将jboss-deployment-structure.xml 的相关部分以及您在global-modules 中尝试的内容包括在内?
  • @TT。添加了相关部分
  • 您通常不必与jboss-deployment-structure.xmlglobal-modules 混淆。您试图解决的原始类加载问题是什么?
  • @SteveC com.sun.el.E​​xpressionFactoryImpl 类是实际问题
  • 你有没有在你的代码中直接引用过这个类?如果没有,您是否在应用程序中包含了自己的 JSF 实现(而不是使用 WildFly 提供的)? IE。你 EAR 的任何地方都有 mojarra 罐子吗?

标签: java jboss classloader wildfly wildfly-9


【解决方案1】:

你错过了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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-26
    • 2016-02-02
    • 2017-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-26
    • 2018-06-03
    相关资源
    最近更新 更多