Java OPENJPA 2.4.3显然在互联网上寻找持久性名称空间

Java OPENJPA 2.4.3显然在互联网上寻找持久性名称空间,java,persistence,openjpa,persistence.xml,Java,Persistence,Openjpa,Persistence.xml,我正在使用OpenJPA2.4.3,我发现了一个奇怪的现象。当OpenJPA尝试访问mypersistence.xml并连接到internet和DNS时,它会正常工作 但是,当我没有连接时,每当它必须访问我的持久性文件时,它就会失败。它似乎很想在互联网上寻找名称空间。我运行了一些网络诊断,它正在连接到一些主机 值得一提的是,hibernate在没有internet访问的情况下运行没有任何问题 有没有办法防止/修复它??? PS:这里有一个类似的问题: 但他的方法在没有互联网连接的情况下对我不起作

我正在使用OpenJPA2.4.3,我发现了一个奇怪的现象。当OpenJPA尝试访问mypersistence.xml并连接到internet和DNS时,它会正常工作

但是,当我没有连接时,每当它必须访问我的持久性文件时,它就会失败。它似乎很想在互联网上寻找名称空间。我运行了一些网络诊断,它正在连接到一些主机

值得一提的是,hibernate在没有internet访问的情况下运行没有任何问题

有没有办法防止/修复它???

PS:这里有一个类似的问题:

但他的方法在没有互联网连接的情况下对我不起作用

此外,我尝试了不同的名称空间和版本,但结果总是一样的

persistence.xml:

    <?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.2"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_2.xsd">
    <!-- Define persistence unit -->
    <persistence-unit name="jpa-mysql" transaction-type="RESOURCE_LOCAL">
        <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>

        <class>...</class>

        <properties>
            ...
        </properties>

    </persistence-unit>
</persistence>

org.apache.openjpa.persistence.PersistenceProviderImpl
...
...
错误:

javax.persistence.PersistenceException: Explicit persistence provider error(s) occurred for "jpa-mysql" after trying the following discovered implementations: org.apache.openjpa.persistence.PersistenceProviderImpl from provider: org.apache.openjpa.persistence.PersistenceProviderImpl

    at javax.persistence.Persistence.createPersistenceException(Persistence.java:244)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:186)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:72)
    at au.com.marlo.connection.Connection.getEntityManagerFactory(Connection.java:13)
    at au.com.marlo.processors.SaveStoreProcessorTest.shouldProcess(SaveStoreProcessorTest.java:33)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
    at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
    at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
    at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
    at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
    at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
    at org.junit.rules.RunRules.evaluate(RunRules.java:20)
    at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
    at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
    at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
    at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
    at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
    at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
    at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
Caused by: <openjpa-2.4.3-r422266:1833086 nonfatal general error> org.apache.openjpa.util.GeneralException: org.xml.sax.SAXException: file:/home/rafael/Documents/rskinner/Final%20Project/JBOSS%20FUSE/gbz-db-translator/target/test-classes/META-INF/persistence.xml [Location: Line: 4, C: 135]: org.xml.sax.SAXParseException; systemId: file:/home/rafael/Documents/rskinner/Final%20Project/JBOSS%20FUSE/gbz-db-translator/target/test-classes/META-INF/persistence.xml; lineNumber: 4; columnNumber: 135; cvc-elt.1.a: Cannot find the declaration of element 'persistence'.
    at org.apache.openjpa.lib.meta.XMLMetaDataParser.parseNewResource(XMLMetaDataParser.java:426)
    at org.apache.openjpa.lib.meta.XMLMetaDataParser.parse(XMLMetaDataParser.java:346)
    at org.apache.openjpa.lib.meta.XMLMetaDataParser.parse(XMLMetaDataParser.java:323)
    at org.apache.openjpa.lib.meta.XMLMetaDataParser.parse(XMLMetaDataParser.java:296)
    at org.apache.openjpa.persistence.PersistenceProductDerivation$ConfigurationParser.parse(PersistenceProductDerivation.java:811)
    at org.apache.openjpa.persistence.PersistenceProductDerivation.parseResources(PersistenceProductDerivation.java:576)
    at org.apache.openjpa.persistence.PersistenceProductDerivation.load(PersistenceProductDerivation.java:528)
    at org.apache.openjpa.persistence.PersistenceProductDerivation.load(PersistenceProductDerivation.java:339)
    at org.apache.openjpa.persistence.PersistenceProviderImpl.createEntityManagerFactory(PersistenceProviderImpl.java:87)
    at org.apache.openjpa.persistence.PersistenceProviderImpl.createEntityManagerFactory(PersistenceProviderImpl.java:155)
    at org.apache.openjpa.persistence.PersistenceProviderImpl.createEntityManagerFactory(PersistenceProviderImpl.java:63)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:152)
    ... 31 more
javax.persistence.PersistenceException:尝试以下发现的实现后,“jpa mysql”出现显式持久性提供程序错误:org.apache.openjpa.persistence.PersistenceProviderImpl from provider:org.apache.openjpa.persistence.PersistenceProviderImpl
位于javax.persistence.persistence.createPersistenceException(persistence.java:244)
位于javax.persistence.persistence.createEntityManagerFactory(persistence.java:186)
位于javax.persistence.persistence.createEntityManagerFactory(persistence.java:72)
在au.com.marlo.connection.connection.GetEntityManager工厂(connection.java:13)
在au.com.marlo.processors.SaveStoreProcessorTest.shoulprocess(SaveStoreProcessorTest.java:33)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
位于java.lang.reflect.Method.invoke(Method.java:498)
位于org.junit.runners.model.FrameworkMethod$1.runReflectVeCall(FrameworkMethod.java:47)
位于org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
位于org.junit.runners.model.FrameworkMethod.invokeeexplosive(FrameworkMethod.java:44)
位于org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
位于org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
位于org.junit.internal.runners.statements.runafter.evaluate(runafter.java:27)
位于org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
位于org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
位于org.junit.rules.RunRules.evaluate(RunRules.java:20)
位于org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
位于org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
位于org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
位于org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
位于org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
位于org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
访问org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
位于org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
位于org.junit.internal.runners.statements.runafter.evaluate(runafter.java:27)
位于org.junit.runners.ParentRunner.run(ParentRunner.java:309)
位于org.junit.runner.JUnitCore.run(JUnitCore.java:160)
位于com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
位于com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
位于com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
位于com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
原因:org.apache.openjpa.util.GeneralException:org.xml.sax.SAXException:file:/home/rafael/Documents/rskinner/Final%20Project/JBOSS%20FUSE/gbz-db-translator/target/test-classes/META-INF/persistence.xml[位置:行:4,C:135]:org.xml.sax.SAXParseException;systemId:file:/home/rafael/Documents/rskinner/Final%20Project/JBOSS%20FUSE/gbz-db-translator/target/test-classes/META-INF/persistence.xml;行号:4;栏目号:135;cvc elt.1.a:找不到元素“persistence”的声明。
位于org.apache.openjpa.lib.meta.XMLMetaDataParser.parseNewResource(XMLMetaDataParser.java:426)
位于org.apache.openjpa.lib.meta.xmlmataparser.parse(xmlmataparser.java:346)
位于org.apache.openjpa.lib.meta.xmlmataparser.parse(xmlmataparser.java:323)
位于org.apache.openjpa.lib.meta.xmlmataparser.parse(xmlmataparser.java:296)
位于org.apache.openjpa.persistence.PersistenceProductDerivation$ConfigurationParser.parse(PersistenceProductDerivation.java:811)
位于org.apache.openjpa.persistence.PersistenceProductDerivation.parseResources(PersistenceProductDerivation.java:576)
位于org.apache.openjpa.persistence.PersistenceProductDerivation.load(PersistenceProductDerivation.java:528)
位于org.apache.openjpa.persistence.PersistenceProductDerivation.load(PersistenceProductDerivation.java:339)
位于org.apache.openjpa.persistence.PersistenceProviderImpl.createEntityManagerFactory(PersistenceProviderImpl.java:87)
位于org.apache.openjpa.persistence.PersistenceProviderImpl.createEntityManagerFactory(PersistenceProviderImpl.java:155)
位于org.apache.openjpa.persistence.PersistenceProviderImpl.createEntityManagerFactory(PersistenceProviderImpl.java:63)
位于javax.persistence.persistence.createEntityManagerFactory(persistence.java:152)
... 还有31个


编辑:我的朋友开始讨论openjpa的jira,他们在3.1.0版上解决了这个问题。怎么