Java 在WildFly 8.2.0最终版本中添加模块

Java 在WildFly 8.2.0最终版本中添加模块,java,jboss,derby,wildfly,wildfly-8,Java,Jboss,Derby,Wildfly,Wildfly 8,我是JBoss新手,我尝试在WidlFly 8.2.0中为derby添加一个jdbc驱动程序作为一个模块 我所做的: 我在JBOSS_HOME/modules/system/layers/base目录中添加了org/apache/derby/main文件夹 在这个新文件夹中,我添加了derbyclient.jar(来自JDK1.8.0_40,它包含驱动程序)和一个新的module.xml文件 module.xml文件如下: <?xml version="1.0" encoding="

我是JBoss新手,我尝试在WidlFly 8.2.0中为derby添加一个jdbc驱动程序作为一个模块

我所做的:

  • 我在JBOSS_HOME/modules/system/layers/base目录中添加了org/apache/derby/main文件夹
  • 在这个新文件夹中,我添加了derbyclient.jar(来自JDK1.8.0_40,它包含驱动程序)和一个新的
    module.xml
    文件
module.xml
文件如下:

 <?xml version="1.0" encoding="UTF-8"?>
 <module xmlns="urn:jboss:module:1.0" name="org.apache.derby">
     <resources>
         <resource-root path="derbyclient.jar"/>
     </resources>
     <dependencies>
         <module name="javax.api"/>
     </dependencies>
 </module>
当我启动WildFly时,出现以下错误:

`16:19:49,856 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) JBAS014613: Operation ("add") failed - address: ([
    ("subsystem" => "datasources"),
    ("data-source" => "DerbyDS")
]) - failure description: {"JBAS014771: Services with missing/unavailable dependencies" => [
    "jboss.data-source.java:/DerbyDS is missing [jboss.jdbc-driver.org_apache_derby]",
    "jboss.driver-demander.java:/DerbyDS is missing [jboss.jdbc-driver.org_apache_derby]"
]}
16:19:49,866 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) JBAS014613: Operation ("add") failed - address: ([
    ("subsystem" => "datasources"),
    ("data-source" => "DerbyDS")
]) - failure description: {
    "JBAS014771: Services with missing/unavailable dependencies" => [
        "jboss.data-source.java:/DerbyDS is missing [jboss.jdbc-driver.org_apache_derby]",
        "jboss.driver-demander.java:/DerbyDS is missing [jboss.jdbc-driver.org_apache_derby]"
    ],
    "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.DerbyDS",
            "jboss.naming.context.java.DerbyDS"
        ],
        "Services that may be the cause:" => ["jboss.jdbc-driver.org_apache_derby"]
    }
}
16:19:49,897 INFO  [org.jboss.as.server] (ServerService Thread Pool -- 28) JBAS018559: Deployed "MyApp.ear" (runtime-name : "MyApp.ear")
16:19:49,897 INFO  [org.jboss.as.server] (ServerService Thread Pool -- 28) JBAS018559: Deployed "MyApp2.ear" (runtime-name : "MyApp2.ear")
16:19:49,907 INFO  [org.jboss.as.controller] (Controller Boot Thread) JBAS014774: Service status report
JBAS014775:    New missing/unsatisfied dependencies:
      service jboss.jdbc-driver.org_apache_derby (missing) dependents: [service jboss.driver-demander.java:/DerbyDS, service jboss.data-source.java:/DerbyDS]`
你知道我做错了什么吗


提前感谢

您的URL
jdbc:derby://:MyDB
看起来无效。

我最终通过以下方式解决了问题:

  • 在独立目录(部署我的应用程序的地方)中添加derbyclient.jar
  • 修改standalone.xml中的datasource声明以使其引用jar名称:
jdbc:derby:MyDB;create=true derbyclient.jar…

(我删除了
标签,我不再使用它了。)


所以,当我开始使用WildFly时,我不再有错误了。derby驱动程序没有声明为模块,但它将在我的不同应用程序之间共享,所以这没关系。

derbyclient.jar是否位于您的WAR的正确位置?我想一定是在“图书馆”存放的地方。嗨,布莱恩,谢谢你的回答。事实上,不,它不是在战争中,我想让部署在WildFly实例中的所有应用程序都使用jar,所以我想将它声明为WildFly的一个模块。derbyclient.jar位于JBOSS_HOME/modules/system/layers/base/org/apache/derby/mainHi-Hwellmann中,感谢您的回答。你是对的,url是错误的。但是,在修复了它(jdbc:derby:MyDB;create=true)之后,我仍然有相同的错误。您是否单独尝试了驱动程序/URL组合(使用DriverManager,而不使用WildFly)?您似乎混淆了Derby的嵌入式和客户端/服务器使用。
`16:19:49,856 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) JBAS014613: Operation ("add") failed - address: ([
    ("subsystem" => "datasources"),
    ("data-source" => "DerbyDS")
]) - failure description: {"JBAS014771: Services with missing/unavailable dependencies" => [
    "jboss.data-source.java:/DerbyDS is missing [jboss.jdbc-driver.org_apache_derby]",
    "jboss.driver-demander.java:/DerbyDS is missing [jboss.jdbc-driver.org_apache_derby]"
]}
16:19:49,866 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) JBAS014613: Operation ("add") failed - address: ([
    ("subsystem" => "datasources"),
    ("data-source" => "DerbyDS")
]) - failure description: {
    "JBAS014771: Services with missing/unavailable dependencies" => [
        "jboss.data-source.java:/DerbyDS is missing [jboss.jdbc-driver.org_apache_derby]",
        "jboss.driver-demander.java:/DerbyDS is missing [jboss.jdbc-driver.org_apache_derby]"
    ],
    "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.DerbyDS",
            "jboss.naming.context.java.DerbyDS"
        ],
        "Services that may be the cause:" => ["jboss.jdbc-driver.org_apache_derby"]
    }
}
16:19:49,897 INFO  [org.jboss.as.server] (ServerService Thread Pool -- 28) JBAS018559: Deployed "MyApp.ear" (runtime-name : "MyApp.ear")
16:19:49,897 INFO  [org.jboss.as.server] (ServerService Thread Pool -- 28) JBAS018559: Deployed "MyApp2.ear" (runtime-name : "MyApp2.ear")
16:19:49,907 INFO  [org.jboss.as.controller] (Controller Boot Thread) JBAS014774: Service status report
JBAS014775:    New missing/unsatisfied dependencies:
      service jboss.jdbc-driver.org_apache_derby (missing) dependents: [service jboss.driver-demander.java:/DerbyDS, service jboss.data-source.java:/DerbyDS]`