Wildfly 9.0.1.Final:EAR部署失败 [英] Wildfly 9.0.1.Final: EAR deployment failed

查看:122
本文介绍了Wildfly 9.0.1.Final:EAR部署失败的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在Wildfly 9.0.1.Final上部署基于Struts的Web应用程序.

I am trying to deploy my struts based web application on Wildfly 9.0.1.Final.

我正在作为包含.war/.jar(EJB)文件的.ear文件进行部署.

I am deploying as an .ear file that contains .war/.jar(EJB) files.

但这在部署过程中给了我一个错误.

But it gives me an error during deployment.

错误堆栈跟踪:

Failed to define class AuditMDB in Module "deployment.webapp.ear.EJB.jar:main" from Service Module Loader: java.lang.LinkageError: Failed to link AuditMDB (Module "deployment.webapp.ear.EJB.jar:main" from Service Module Loader)
    at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:437)
    at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:269)
    at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:77)
    at org.jboss.modules.Module.loadModuleClass(Module.java:560)
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:197)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:455)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:404)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:385)
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:130)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:270)
    at org.jboss.as.server.deployment.reflect.DeploymentClassIndex.classIndex(DeploymentClassIndex.java:54)
    at org.jboss.as.ejb3.deployment.processors.dd.DeploymentDescriptorMethodProcessor.handleSessionBean(DeploymentDescriptorMethodProcessor.java:118)
    at org.jboss.as.ejb3.deployment.processors.dd.DeploymentDescriptorMethodProcessor.deploy(DeploymentDescriptorMethodProcessor.java:73)
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:156)
    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(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NoClassDefFoundError: javax/jms/MessageListener
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
    at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:353)
    at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:432)
    ... 19 more
Caused by: java.lang.ClassNotFoundException: javax.jms.MessageListener from [Module "deployment.webapp.ear.EJB.jar:main" from Service Module Loader]
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:205)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:455)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:404)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:385)
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:130)
    ... 23 more

请帮助

推荐答案

您必须确保定义了数据源.在您的standalone-full.xml中,您需要包含定义,例如:

You have to make sure your datasource is defined. In your standalone-full.xml you need to include the definition, something like:

<datasource jndi-name="java:datasources/WEBFDMS" pool-name="WEBFDMS" enabled="true" use-java-context="true">
    <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>
    <driver>h2</driver>
    <security>
        <user-name>sa</user-name>
        <password>sa</password>
    </security>
</datasource>

"java:d​​atasources/WEBFDMS"可能必须为"java:jboss/datasources/WEBFDMS"

"java:datasources/WEBFDMS" might have to be "java:jboss/datasources/WEBFDMS"

当然,此数据源定义将仅创建内存数据源.为了连接到正在运行的数据库(mysql,oracle等),您将必须对其进行不同的配置.

Of course, this datasource definition will simply create an in-memory datasource. In order to connect to a running database (mysql, oracle, etc) you will have to configure it differently.

这篇关于Wildfly 9.0.1.Final:EAR部署失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆