2017-04-07 10 views
1

私はJBossを初めて使用しています。私はWASで耳のファイルをOKにしました。しかし、JBoss EAP 7.1で試したところ、以下のエラーが出ました。jbossがクラスjavax.jms.JMSExceptionを定義できませんでした。

14:15:18,640 WARN [org.jboss.modules] (MSC service thread 1-6) Failed to define class javax.jms.JMSException in Module "deployment.xxx.ear.yyy.war:mai 
n" from Service Module Loader: java.lang.ClassFormatError: Failed to link javax/jms/JMSException (Module "xxx.ear.yyy.war:main" from Service 
Module Loader): Absent Code attribute in method that is not native or abstract in class file javax/jms/JMSException 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) 
    at java.lang.reflect.Constructor.newInstance(Unknown Source) 
    at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:446) 
    at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:274) 
    at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:78) 
    at org.jboss.modules.Module.loadModuleClass(Module.java:605) 
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190) 
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:363) 
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:351) 
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:93) 
    at java.lang.Class.getDeclaredConstructors0(Native Method) 
    at java.lang.Class.privateGetDeclaredConstructors(Unknown Source) 
    at java.lang.Class.getConstructor0(Unknown Source) 
    at java.lang.Class.getConstructor(Unknown Source) 
    at org.jboss.as.jsf.deployment.JSFManagedBeanProcessor.deploy(JSFManagedBeanProcessor.java:100) 
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:147) 
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948) 
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 

14:15:18,640 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-6) MSC000001: Failed to start service jboss.deployment.subunit."xxx.ear"."yyy.war 
".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.subunit."xxx.ear"."yyy.war".POST_MODULE: WFLYSRV0153: Failed to process 
phase POST_MODULE of subdeployment "yyy.war" of deployment "xxx.ear" 
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:154) 
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948) 
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
Caused by: java.lang.ClassFormatError: Failed to link javax/jms/JMSException (Module "deployment.xxx.ear.yyy.war:main" from Service Module Loader): Abs 
ent Code attribute in method that is not native or abstract in class file javax/jms/JMSException 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) 
    at java.lang.reflect.Constructor.newInstance(Unknown Source) 
    at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:446) 
    at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:274) 
    at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:78) 
    at org.jboss.modules.Module.loadModuleClass(Module.java:605) 
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190) 
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:363) 
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:351) 
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:93) 
    at java.lang.Class.getDeclaredConstructors0(Native Method) 
    at java.lang.Class.privateGetDeclaredConstructors(Unknown Source) 
    at java.lang.Class.getConstructor0(Unknown Source) 
    at java.lang.Class.getConstructor(Unknown Source) 
    at org.jboss.as.jsf.deployment.JSFManagedBeanProcessor.deploy(JSFManagedBeanProcessor.java:100) 
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:147) 
    ... 5 more 

リサーチからは、依存関係の問題があるように見えますが、これはインターフェイスのみを持つようです。

<dependency> 
    <groupId>javax</groupId> 
    <artifactId>javaee-api</artifactId> 
    <version>6.0</version> 
    <scope>provided</scope> 
</dependency> 

は、だから私は

<dependency> 
    <groupId>org.apache.openejb</groupId> 
    <artifactId>javaee-api</artifactId> 
    <version>6.0-5</version> 
    </dependency> 

しかし、運に変更しました。私はj2ee.jarのような瓶も探しています。私はJBossランタイムの下で1つのjboss-ejb-api_3.2_spec-1.0.0.Final-redhat-1.jarを見つけることができました。しかし、javax.jms。*には何も含まれていません。

また、私はクラスの読み込みを見ました。ダブルクラスローディングを排除する内容のjboss-deployment-structure.xmlでパッチされたearファイル。

<jboss-deployment-structure> 
    <ear-subdeployments-isolated>true</ear-subdeployments-isolated>  
</jboss-deployment-structure> 

まだ動作しません。助言がありますか?

+0

2日前のJBoss EAP 7.1 Alphaリリースを実際に使用していますか? –

+0

EAP 7.0に変更されました。同じエラーです。 のjavax JavaEEの-APIへ – rickcoup

答えて

2

そのjavax.javaee-api.6.0の依存関係にはwell documentedという単一の問題があります。必要な実装クラスのバイトコードが削除され、結果としてjava.lang.ClassFormatErrorになります。

dependency<scope>provided</scope>と表示されていても、このjarのコピーがアプリケーションのどこかに漏洩しているためです。あなたはそれを取り除く必要があります。

この問題が発生していない<version>7.0</version>(通常はそれに依存する単体テストの問題)に依存性をアップグレードできます。

+0

変更は 7.0 はそれを修正しました。 – rickcoup

関連する問題