EAP 6.4 CP9 にアップデートすると java.lang.ClassNotFoundException / java.lang.NoClassDefFoundError が発生する
Issue
- EAP 6.4 に累積パッチ (CP) 9 を適用すると以下のエラーが発生します。
Caused by: java.lang.NoClassDefFoundError: javax/ws/rs/core/UriInfo
at java.lang.Class.getDeclaredFields0(Native Method) [rt.jar:1.7.0_95]
at java.lang.Class.privateGetDeclaredFields(Class.java:2509) [rt.jar:1.7.0_95]
at java.lang.Class.getDeclaredFields(Class.java:1819) [rt.jar:1.7.0_95]
at org.jboss.as.server.deployment.reflect.ClassReflectionIndex.<init>(ClassReflectionIndex.java:57) [jboss-as-server-7.5.9.Final-redhat-2.jar:7.5.9.Final-redhat-2]
at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:68) [jboss-as-server-7.5.9.Final-redhat-2.jar:7.5.9.Final-redhat-2]
...10 more
Caused by: java.lang.ClassNotFoundException: javax.ws.rs.core.UriInfo from [Module "custom-service.war:main" from Service Module Loader]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:213) [jboss-modules.jar:1.3.7.Final-redhat-1]
at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:459) [jboss-modules.jar:1.3.7.Final-redhat-1]
- 6.4.8 から 6.4.9 にアップデートすると java.lang.NoClassDefFoundError が発生します。
Caused by: java.lang.NoClassDefFoundError: javax/servlet/jsp/tagext/TagSupport
at java.lang.ClassLoader.defineClass1(Native Method) [rt.jar:1.7.0_79]
at java.lang.ClassLoader.defineClass(ClassLoader.java:800) [rt.jar:1.7.0_79]
at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:361) [jboss-modules.jar:1.3.7.Final-redhat-1]
at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:482) [jboss-modules.jar:1.3.7.Final-redhat-1]
...19 more
Caused by: java.lang.ClassNotFoundException: javax.servlet.jsp.tagext.TagSupport from [Module "deployment.test.ear:main" from Service Module Loader]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:213) [jboss-modules.jar:1.3.7.Final-redhat-1]
at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:459) [jboss-modules.jar:1.3.7.Final-redhat-1]
at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:408) [jboss-modules.jar:1.3.7.Final-redhat-1]
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:389) [jboss-modules.jar:1.3.7.Final-redhat-1]
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:134) [jboss-modules.jar:1.3.7.Final-redhat-1]
...23 more
- 6.4.9 をテストしている時に、ear の manifest.mf に依存関係 (特に、
javax.jms.api, javax.persistence.api と javax.xml.ws.api)を多数追加しないといけないことに気がつきました。これまでは追加する必要がありませんでした。
6.4.8 を含む以前の全バージョンでは、マニフェストファイルにカスタムの依存関係を追加する必要はありませんでした。6.4.8 から 6.4.9 に変更したときの設定ファイルの変更には、この問題が発生させるような特別な変更は確認できませんでした。したがって、この変更は意図的なものなのか、それともバグによるものか教えてください。
Environment
- Red Hat JBoss Enterprise Application Platform (EAP)
- 6.4 の累積パッチ (CP) 9
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
