Wildfly:应用程序已部署但未运行

Posted

技术标签:

【中文标题】Wildfly:应用程序已部署但未运行【英文标题】:Wildfly : application deployed but not running 【发布时间】:2017-04-22 15:14:33 【问题描述】:

我正在尝试将 .ear 应用程序部署到 Wildfly 10.1 final。 .ear 有 2 个嵌套的 .war 文件。 .war 文件中没有“jboss-web.xml”文件。

这是 application.xml 文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE application PUBLIC
    "-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN"
    "http://java.sun.com/dtd/application_1_3.dtd">
<application>
    <display-name>myApp-ear</display-name>
    <description>myApp</description>
    <module>
      <web>
        <web-uri>myApp-rest</web-uri>
        <context-root>/myApp-rest</context-root>
      </web>
    </module>
    <module>
      <web>
        <web-uri>myApp-webapp</web-uri>
        <context-root>/myApp-webapp</context-root>
      </web>
    </module>
</application>

部署后,我有以下日志:

INFO [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) WFLYDS0004:在部署目录中找到 myApp.ear。要触发部署,请创建一个名为 myApp.ear.dodeploy 的文件 INFO [org.jboss.as.server.deployment](MSC 服务线程 1-8)WFLYSRV0027:开始部署“myApp.ear”(运行时名称:“myApp.ear”) WARN [org.jboss.as.server.deployment](MSC 服务线程 1-8)WFLYSRV0059:/C:/Dev/Wildfly/wildfly-10.1.0.Final/standalone 中的类路径条目 lib/snakeyaml-1.13.jar /deployments/myApp.ear/liquibase-core-3.3.0.jar 没有指向类路径引用的有效 jar。 (...) INFO [org.jboss.as.server.deployment](MSC 服务线程 1-8)WFLYSRV0207:启动子部署(运行时名称:“myApp-rest”) INFO [org.jboss.as.server.deployment](MSC 服务线程 1-8)WFLYSRV0207:启动子部署(运行时名称:“myApp-webapp”) INFO [org.jboss.as.server] (DeploymentScanner-threads - 2) WFLYSRV0010: 已部署“myApp.ear”(运行时名称:“myApp.ear”)

仅此而已,日志中没有“注册”或类似的东西。 因此,每当我尝试访问“localhost:8080/myApp-webapp”时,都会出现 404 错误。

该应用程序之前部署在 Weblogic 11 上(具有相同的配置)并且运行良好。

有什么线索吗?

【问题讨论】:

您是否创建了一个名为 myApp.ear.dodeploy 的文件? 实际上是的,每次我在部署文件夹中创建此文件时,myApp 都会再次部署并显示以下消息:“WFLYSRV0016:将部署“myApp.ear”替换为部署“myApp.ear”。但问题依然存在。 这是爆炸部署吗?如果是这样,您需要在 myApp-restmyApp-webapp 上添加扩展名,即 myApp-rest.jar myApp-webapp.war 我已经尝试添加一个扩展(我首先想到的),但这并没有改变 这是爆炸部署吗? 【参考方案1】:

根据以下日志消息,您的 EAR 内容似乎缺少适当的文件扩展名

INFO [org.jboss.as.server.deployment] (MSC service thread 1-8) WFLYSRV0207: Starting subdeployment (runtime-name: "myApp-rest") 
INFO [org.jboss.as.server.deployment] (MSC service thread 1-8) WFLYSRV0207: Starting subdeployment (runtime-name: "myApp-webapp") 
INFO [org.jboss.as.server] (DeploymentScanner-threads - 2) WFLYSRV0010: Deployed "myApp.ear" (runtime-name : "myApp.ear")

特别注意myApp-restmyApp-webapp。即使这是一个展开的部署,它们都应该具有.war 扩展名。 (注意myApp-rest 可能有一个.jar 扩展,如果它只是一个 EJB 模块。)

【讨论】:

以上是关于Wildfly:应用程序已部署但未运行的主要内容,如果未能解决你的问题,请参考以下文章

选择多个配置文件时,wildfly-maven-plugin 未部署

Wildfly + Eclipse 部署扫描程序

Wildfly Maven插件+热部署

使用 Wildfly 的集群单例?

如何让 JBoss/WildFly 在应用程序部署/初始化失败时自动终止?

我降低了 iOS 部署目标版本以在 iPhone 中运行应用程序,但未应用版本更改