Java EE Ear 应用程序部署失败 -- javaDB 持久性问题



我知道它为什么失败 - 它找不到我在持久性.xml文件中指定的资源。这完全是错误的。我创建了数据库,并将其连接到 netbeans。我不知道的是为什么下面的错误中资源名称有额外的字符。

[2014-11-12T14:08:27.655-0700] [glassfish 4.1] [WARNING] []     [javax.enterprise.system.tools.deployment.dol] [tid: _ThreadID=354 _ThreadName=admin-listener(47)] [timeMillis: 1415826507655] [levelValue: 900] [[
This web app [/srv/glassfish4/glassfish/domains/default/applications/EmployeeScheduler-war/] has no resource reference by the name of [users]]]
[2014-11-12T14:08:27.690-0700] [glassfish 4.1] [SEVERE] [] [javax.enterprise.system.core] [tid: _ThreadID=354 _ThreadName=admin-listener(47)] [timeMillis: 1415826507690] [levelValue: 1000] [[
Exception while invoking class org.glassfish.persistence.jpa.JPADeployer prepare method]]
[2014-11-12T14:08:27.693-0700] [glassfish 4.1] [SEVERE] [] [] [tid: _ThreadID=354 _ThreadName=Thread-9] [timeMillis: 1415826507693] [levelValue: 1000] [[
java.lang.RuntimeException: Invalid resource : users__nontx

资源存在且可用。Netbeans 连接到它就很好。那么为什么EAR找不到它呢?我做错了什么?我该如何解决。

需要的任何其他信息都请告诉我。

坚持不懈.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
  <persistence-unit name="EmployeeScheduler-warPU_users" transaction-type="JTAs">
    <jta-data-source>users</jta-data-source>
    <exclude-unlisted-classes>true</exclude-unlisted-classes>
    <properties>
      <property name="javax.persistence.jdbc.url" value="jdbc:derby://domainaddress/users"/>
      <property name="javax.persistence.jdbc.driver" value="org.apache.derby.jdbc.ClientDriver"/>
      <property name="javax.persistence.schema-generation.database.action" value="create"/>
    </properties>
  </persistence-unit>
</persistence>

所以,事实证明,从持久性文件中删除以下行可以让它工作。

<jta-data-source>users</jta-data-source>

最新更新