jboss WildFly部署失败-“JBAS 014771:缺少/不可用依赖项的服务”

bbuxkriu  于 2023-11-19  发布在  其他
关注(0)|答案(2)|浏览(253)

我是Web服务的新手。我从另一个开发人员那里接手了一些开发项目。一切都运行得很好,直到我创建了自己的测试项目,看看所有东西是如何组合在一起的。当我从测试项目恢复到以前的工作项目时,项目编译了,但在部署过程中无法启动。我甚至不知道从哪里开始寻找。
我使用Eclipse Kepler,并部署到WildFly服务器。
日志显示以下错误消息:

10:39:06,146 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) JBAS014613: Operation ("deploy") failed - address: ([("deployment" => "JEM-eap.ear")]) - failure description: {
    "JBAS014771: Services with missing/unavailable dependencies" => [
        "jboss.deployment.subunit.\"JEM-eap.ear\".\"JEM-ui.war\".weld.weldClassIntrospector is missing [jboss.deployment.subunit.\"JEM-eap.ear\".\"JEM-ui.war\".beanmanager]",
        "jboss.deployment.unit.\"JEM-eap.ear\".weld.weldClassIntrospector is missing [jboss.deployment.unit.\"JEM-eap.ear\".beanmanager]"
    ],
    "JBAS014879: One or more services were unable to start due to one or more indirect dependencies not being available." => {
        "Services that were unable to start:" => [
            "jboss.deployment.subunit.\"JEM-eap.ear\".\"JEM-ejb.jar\".POST_MODULE",
            "jboss.deployment.subunit.\"JEM-eap.ear\".\"JEM-ui.war\".INSTALL",
            "jboss.deployment.unit.\"JEM-eap.ear\".INSTALL",
            "jboss.persistenceunit.\"JEM-eap.ear/JEM-ejb.jar#JPA-ejb\".__FIRST_PHASE__"
        ],
        "Services that may be the cause:" => [
            "jboss.deployment.subunit.\"JEM-eap.ear\".\"JEM-ui.war\".beanmanager",
            "jboss.deployment.unit.\"JEM-eap.ear\".beanmanager",
            "jboss.jdbc-driver.sqljdbc4_jar"
        ]
    }
}

10:39:06,146 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) JBAS014613: Operation ("add") failed - address: ([
    ("subsystem" => "datasources"),
    ("data-source" => "JascoEnergy")
]) - failure description: {"JBAS014771: Services with missing/unavailable dependencies" => [
    "jboss.driver-demander.java:/jdbc/JascoEnergy is missing [jboss.jdbc-driver.sqljdbc4_jar]",
    "jboss.data-source.java:/jdbc/JascoEnergy is missing [jboss.jdbc-driver.sqljdbc4_jar]"
]}
10:39:06,146 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) JBAS014613: Operation ("add") failed - address: ([
    ("subsystem" => "datasources"),
    ("data-source" => "JascoEnergy")
]) - failure description: {
    "JBAS014771: Services with missing/unavailable dependencies" => [
        "jboss.driver-demander.java:/jdbc/JascoEnergy is missing [jboss.jdbc-driver.sqljdbc4_jar]",
        "jboss.data-source.java:/jdbc/JascoEnergy is missing [jboss.jdbc-driver.sqljdbc4_jar]"
    ],
    "JBAS014879: One or more services were unable to start due to one or more indirect dependencies not being available." => {
        "Services that were unable to start:" => [
            "jboss.data-source.reference-factory.JascoEnergy",
            "jboss.naming.context.java.jdbc.JascoEnergy"
        ],
        "Services that may be the cause:" => [
            "jboss.deployment.subunit.\"JEM-eap.ear\".\"JEM-ui.war\".beanmanager",
            "jboss.deployment.unit.\"JEM-eap.ear\".beanmanager",
            "jboss.jdbc-driver.sqljdbc4_jar"
        ]
    }
}

字符串

zaqlnxep

zaqlnxep1#

我解决了我的问题,这与你的问题非常相似。
错误日志实际上告诉你去哪里找,它实际上说你的 jdbc-driver 丢失了。文件 sqljdbc4.jar 从你的WildFly server deployments 文件夹中丢失了。你需要将jar文件添加到<your_wildfly_server_folder> --> standalone --> deployments。添加丢失的jar文件后,部署对我来说工作正常。
我已经意识到(至少在我的情况下)在我的一次部署尝试中,WildFly服务器上的垃圾收集器出现了问题。这将导致所需的jar文件(在您的情况下为 sqljdbc4.jar)在服务器上被取消部署。由于这是您自己的应用程序的依赖项,因此部署您的应用程序将无法工作。
如果你看到jar文件出现在 deployments 文件夹中,但你仍然无法部署你的应用程序,那么你需要首先重新部署jar文件。你可能可以从WildFly管理控制台做到这一点,但我还没有找到确切的方法。你也可以通过转到 deployments 文件夹来做到这一点,找到一个文件名与你丢失的jar文件完全相同,但扩展名为.undeployed(在你的例子中是 sqljdbc4.jar.undeployed),然后删除它。如果一切顺利,WildFly会自动重新部署你的jar文件。

qij5mzcb

qij5mzcb2#

请检查您的主机名(IP地址),你已经在JBoss概述(Eclipse)中提供我面临着同样的问题,纠正IP地址后,它开始正常工作

相关问题