NoClassDefFoundError, когда класс находится в папке JBoss AS7 WAR WEB-INF / classes

Я использую JBoss AS7. Я получаю ClassNotFoundException при попытке развернуть мое приложение - похоже, он не находит JMSException

09:54:53,166 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-7) MSC00001: Failed to start service jboss.deployment.unit."myapp-maventest.war".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.unit."myapp-maventest.war".INSTALL: Failed to process phase INSTALL of deployment "myapp-maventest.war"
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:121)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1765)
    at org.jboss.msc.service.ServiceControllerImpl$ClearTCCLTask.run(ServiceControllerImpl.java:2291)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_26]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_26]
    at java.lang.Thread.run(Thread.java:680) [:1.6.0_26]
Caused by: java.lang.RuntimeException: Error getting reflective information for class com.mycompany.myapp.common.jms.servlets.StationLogout
    at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:70)
    at org.jboss.as.ee.component.EEModuleClassDescription$DefaultConfigurator.configure(EEModuleClassDescription.java:144)
    at org.jboss.as.ee.component.EEClassConfigurationProcessor.deploy(EEClassConfigurationProcessor.java:100)
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:115)
    ... 5 more
Caused by: java.lang.NoClassDefFoundError: JMSException
    at java.lang.Class.getDeclaredMethods0(Native Method) [:1.6.0_26]
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2427) [:1.6.0_26]
    at java.lang.Class.getDeclaredMethods(Class.java:1791) [:1.6.0_26]
    at org.jboss.as.server.deployment.reflect.ClassReflectionIndex.<init>(ClassReflectionIndex.java:65)
    at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:66)
    ... 8 more
Caused by: java.lang.ClassNotFoundException: JMSException from [Module "deployment.myapp-maventest.war:main" from Service Module Loader]
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:191)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:358)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:330)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:307)
    at org.jboss.modules.Conc

JMSException.class отсутствует в / modules / javax / jms. У меня есть этот класс в файле jar - javaee-api-6.0.jar. Я скопировал этот файл jar в / src / main / webapp / WEB-INF / lib, но все еще получаю это ClassNotFoundException.

Мне нужна помощь в отладке. Одна вещь, которую я пробовал - я подумал, что, возможно, загружаемый JBoss модуль / modules / javax конфликтует с моим файлом javaee-api-6.0.jar, поэтому я попытался исключить его с помощью src / main / webapp / WEB-INF / jboss- файл deployment-structure.xml

<jboss-deployment-structure>
  <deployment>
    <exclusions>
        <module name="javax.jms" />
    </exclusions>
  </deployment>
</jboss-deployment-structure>

но я все равно получаю тот же NoClassDefFoundError. Есть какие-нибудь советы, как исправить?


person user619804    schedule 16.08.2011    source источник
comment
какова ваша файловая структура войны? где позиция твоей банки на этой войне?   -  person Clark Bao    schedule 23.08.2011


Ответы (1)


Включили ли вы модуль JMS в jbossas7? По умолчанию в standalone.xml не включен. Вам нужно отредактировать standalone.xml, который вы используете, и тогда он загрузит jms и реализацию (также известную как Hornetq).

person cirix    schedule 11.09.2011