簡體   English   中英

WildFly 9.0.2類加載問題

[英]WildFly 9.0.2 classloading issues

我在WildFly服務器中遇到類加載問題。 我已在WildFly獨立服務器中部署了我的EAR文件。 並通過jboss-deployment-structure.xml聲明了依賴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 )到控制台的-verbose:class加載,但是在日志中找到了這個類。 實際上我沒有在日志中找到jboss-deployment-structure.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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM