野蝇部署失败 - "JBAS014771: Services with missing/unavailable dependencies"



我是Web服务的新手。我从另一个开发人员那里接手了一些开发项目。一切都很顺利,直到我创建了自己的测试项目,看看一切是如何结合在一起的。当我从测试项目恢复到以前的工作项目时,项目会编译,但在部署期间不会启动。我甚至不知道从哪里开始寻找。

我正在使用EclipseKepler,并将其部署到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"
        ]
    }
}

我解决了与您的问题非常相似的问题。

错误日志实际上告诉了您应该在哪里查找,它实际上表明您的jdbc驱动程序丢失了。WildFly服务器部署文件夹中缺少文件sqljdbc4.jar。您需要将jar文件添加到<your_wildfly_server_folder> --> standalone --> deployments中。在添加了丢失的jar文件后,部署对我来说还可以

我已经意识到(至少在我的情况下)在我的一次部署尝试中,WildFly服务器上的垃圾收集器出现了问题。这将导致在服务器上取消部署所需的jar文件(在您的案例中为sqljdbc4.jar)。由于这是您自己的应用程序的依赖项,因此部署您的应用程序将不起作用。

如果您在deployment文件夹中看到jar文件,但仍然无法部署应用程序,则需要首先重新部署jar文件。你可能可以在WildFly管理控制台上完成这项操作,但我还没有找到确切的方法。您也可以转到deployed文件夹,找到一个与您丢失的jar文件完全相同但扩展名为.undeployed的文件(在您的情况下为sqljdbc4.jar.undeployed),然后将其删除。如果一切顺利,WildFly将自动重新部署您的jar文件。

相关内容

  • 没有找到相关文章

最新更新