【发布时间】:2018-03-27 05:29:26
【问题描述】:
我无法按照jboss doc 的建议使用 -ds.xml 文件将数据源添加到 Wildfly 服务器。我有一个带有 persistence.xml 的 Maven 项目:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0"
xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="primary">
<jta-data-source>java:jboss/datasources/DvdRental4</jta-data-source>
<properties>
<property name="hibernate.hbm2ddl.auto" value="create-drop" />
<property name="hibernate.show_sql" value="true" />
</properties>
</persistence-unit>
</persistence>
以及项目根目录中的 postgres-ds.xml:
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>DvdRental4</jndi-name>
<connection-url>jdbc:postgresql://localhost:5432/dvdrental4</connection-url>
<driver>postgresql-9.4.1208</driver>
<user-name>postgres</user-name>
<password>1234</password>
<metadata>
<type-mapping>PostgreSQL</type-mapping>
</metadata>
</local-tx-datasource>
</datasources>
在运行 mvn package 并部署 .war 时,我收到 DvdRental4 缺失的错误消息。所以我想我需要将postgres-ds.xml 放在某个特定的地方,但是在哪里呢?或者可能是 xml 文件是错误的?如果需要,我还可以提供 pom.xml。我已经创建了数据库 dvdrental4,所以这应该不是问题。
我还在某处读到,您必须将 -ds.xml 文件放在部署文件夹中,我只有一个 wildfly/standalone/deployments 文件夹,但将它放在那里没有用。
编辑: Wildfly 给出以下错误:
ERROR [org.jboss.as.controller.management-operation] (DeploymentScanner-threads - 2) WFLYCTL0013: Operation ("full-replace-deployment") failed - address: ([]) - failure description: {
"WFLYCTL0412: Required services that are not installed:" => ["jboss.naming.context.java.jboss.datasources.DvdRental4"],
"WFLYCTL0180: Services with missing/unavailable dependencies" => [
"jboss.persistenceunit.\"dvdrental-gruppe-4.war#primary\".__FIRST_PHASE__ is missing [jboss.naming.context.java.jboss.datasources.DvdRental4]",
"jboss.persistenceunit.\"dvdrental-gruppe-4.war#primary\" is missing [jboss.naming.context.java.jboss.datasources.DvdRental4]"
]
}
【问题讨论】: