JavaFX和Hibernate->;找不到持久性单元

JavaFX和Hibernate->;找不到持久性单元,java,eclipse,hibernate,jpa,Java,Eclipse,Hibernate,Jpa,我创建了一个JavaFX项目作为桌面独立应用程序。 对于持久性,我使用hibernate 5.0.1 当我在Eclipse中运行项目时,一切都很好。 使用Ant构建项目会导致以下错误: “javax.persistence.PersistenceException:无法找到持久性单元” 应用程序构造函数中的异常 线程“main”java.lang.reflect.InvocationTargetException中出现异常 在sun.reflect.NativeMethodAccessorImp

我创建了一个JavaFX项目作为桌面独立应用程序。 对于持久性,我使用hibernate 5.0.1

当我在Eclipse中运行项目时,一切都很好。 使用Ant构建项目会导致以下错误: “javax.persistence.PersistenceException:无法找到持久性单元”

应用程序构造函数中的异常 线程“main”java.lang.reflect.InvocationTargetException中出现异常 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 位于sun.reflect.NativeMethodAccessorImpl.invoke(未知源) 在sun.reflect.DelegatingMethodAccessorImpl.invoke处(未知源) 位于java.lang.reflect.Method.invoke(未知源) 位于org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoa der.java:58) 原因:java.lang.RuntimeException:无法构造应用程序实例: 类src.main.java.MainApp 在com.sun.javafx.application.LaunchImpl.launchApplication1上(未知 (资源) 位于com.sun.javafx.application.launchempl.lambda$launchApplication$147( (未知来源) 位于com.sun.javafx.application.launchempl$$Lambda$1/1634198.run(未知 (来源) 位于java.lang.Thread.run(未知源) 原因:java.lang.reflect.InvocationTargetException 位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法) 位于sun.reflect.NativeConstructorAccessorImpl.newInstance(未知源) 在sun.reflect.delegatingConstructor或AccessorImpl.newInstance(未知Sou (rce) 位于java.lang.reflect.Constructor.newInstance(未知源) 在com.sun.javafx.application.launchempl.lambda$launchApplication1$152上 (来源不明) 在com.sun.javafx.application.LaunchImpl$$Lambda$44/13272165.run(Unkno (来源) com.sun.javafx.application.platformpl.lambda$runAndWait$166(未知 (来源) 在com.sun.javafx.application.PlatformImpl$$Lambda$46/24080292.run(Unkno (来源) 位于com.sun.javafx.application.PlatformImpl.lambda$null$164(未知源代码 (e) 在com.sun.javafx.application.PlatformImpl$$Lambda$48/19739574.run(Unkno (来源) 位于java.security.AccessController.doPrivileged(本机方法) com.sun.javafx.application.platformpl.lambda$runLater$165(未知S (来源) 在com.sun.javafx.application.PlatformImpl$$Lambda$47/27265806.run(Unkno (来源) 在com.sun.glass.ui.InvokeLaterDispatcher$Future.run(未知源) 在com.sun.glass.ui.win.WinApplication.\u runLoop(本机方法) 在com.sun.glass.ui.win.WinApplication.lambda$null$141(未知来源) 在com.sun.glass.ui.win.WinApplication$$Lambda$38/7264602.run(未知So (资源) ... 还有一个 原因:javax.persistence.PersistenceException:无法定位持久性 单位 在org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactor上 YbuilderUrnull(HibernatePersistenceProvider.java:84) 在org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactor上 YbuilderUrnull(HibernatePersistenceProvider.java:71) 在org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFac上 tory(HibernatePersistenceProvider.java:52) 在javax.persistence.persistence.createEntityManagerFactory(persistence。 爪哇:55) 在javax.persistence.persistence.createEntityManagerFactory(persistence。 爪哇:39) 位于src.main.java.dao.TypGen_-dao(TypGen_-dao.java:22) 位于src.main.java.MainApp.(MainApp.java:53) ... 还有18个 原因:java.lang.StringIndexOutOfBoundsException:字符串索引超出范围: -1 位于java.lang.String.substring(未知源) 位于org.hibernate.boot.archive.internal.ArchiveHelper.getJarURLFromURLEnt ry(ArchiveHelper.java:45) 位于org.hibernate.jpa.boot.internal.PersistenceXmlParser.parsePersistence Xml(PersistenceXmlParser.java:105) 位于org.hibernate.jpa.boot.internal.PersistenceXmlParser.doResolve(PERIS tenceXmlParser.java:84) 位于org.hibernate.jpa.boot.internal.PersistenceXmlParser.locatePersistenc eUnits(PersistenceXmlParser.java:66) 在org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactor上 YbuilderUrnull(HibernatePersistenceProvider.java:80) ... 还有24个 Persistence.xml文件

<persistence 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" version="2.1">
    <persistence-unit name="jpa-example" transaction-type="RESOURCE_LOCAL">

        <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>

        <class>src.main.model.testClass</class>

        <properties>
            <property name="javax.persistence.jdbc.url"
                value="jdbc:sqlite:\\\\...localnetworkURL\\Database\\TypGen.db"></property>
            <property name="javax.persistence.jdbc.user" value="root"></property>
            <property name="javax.persistence.jdbc.password" value="my_root_password"></property>
            <property name="javax.persistence.jdbc.driver" value="org.sqlite.JDBC"></property>
            <property name="hibernate.show_sql" value="true"></property>
            <property name="hibernate.format_sql" value="true"></property>

            <property name="hibernate.dialect" value="src.main.java.resources.SQLiteDialect"></property>
            <property name="hibernate.hbm2ddl.auto" value="update"></property>

            <property name="hibernate.c3p0.min_size" value="5" />
            <property name="hibernate.c3p0.max_size" value="20" />
            <property name="hibernate.c3p0.timeout" value="500" />
            <property name="hibernate.c3p0.max_statements" value="50" />
            <property name="hibernate.c3p0.idle_test_period" value="2000" />
        </properties>
    </persistence-unit>
</persistence>

org.hibernate.jpa.HibernatePersistenceProvider
src.main.model.testClass
不幸的是,我无法使用maven进行该项目,我非常感谢您的帮助:)

问题是: 从控制台启动Jar时使用错误的Java版本

<persistence 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" version="2.1">
    <persistence-unit name="jpa-example" transaction-type="RESOURCE_LOCAL">

        <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>

        <class>src.main.model.testClass</class>

        <properties>
            <property name="javax.persistence.jdbc.url"
                value="jdbc:sqlite:\\\\...localnetworkURL\\Database\\TypGen.db"></property>
            <property name="javax.persistence.jdbc.user" value="root"></property>
            <property name="javax.persistence.jdbc.password" value="my_root_password"></property>
            <property name="javax.persistence.jdbc.driver" value="org.sqlite.JDBC"></property>
            <property name="hibernate.show_sql" value="true"></property>
            <property name="hibernate.format_sql" value="true"></property>

            <property name="hibernate.dialect" value="src.main.java.resources.SQLiteDialect"></property>
            <property name="hibernate.hbm2ddl.auto" value="update"></property>

            <property name="hibernate.c3p0.min_size" value="5" />
            <property name="hibernate.c3p0.max_size" value="20" />
            <property name="hibernate.c3p0.timeout" value="500" />
            <property name="hibernate.c3p0.max_statements" value="50" />
            <property name="hibernate.c3p0.idle_test_period" value="2000" />
        </properties>
    </persistence-unit>
</persistence>