[英]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.ExpressionFactoryImpl,你錯過了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.