EAP 6.4 CP9 にアップデートすると java.lang.ClassNotFoundException / java.lang.NoClassDefFoundError が発生する

Solution Unverified - Updated -

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.

Current Customers and Partners

Log in for full access

Log In
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.