Java 在WildFly 8.2.0最终版本中添加模块
我是JBoss新手,我尝试在WidlFly 8.2.0中为derby添加一个jdbc驱动程序作为一个模块 我所做的: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_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]`