Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine 谷歌应用引擎-将JPA1更新为JPA2_Google App Engine_Jpa_Jpa 2.0_Datanucleus - Fatal编程技术网

Google app engine 谷歌应用引擎-将JPA1更新为JPA2

Google app engine 谷歌应用引擎-将JPA1更新为JPA2,google-app-engine,jpa,jpa-2.0,datanucleus,Google App Engine,Jpa,Jpa 2.0,Datanucleus,我想更新我的GAE web应用程序以使用JPA 2.0。从文档中,它说我必须将appengine java sdk/lib/opt/user/datanucleus/v2/的内容复制到项目的lib文件夹中 这是appengine java sdk/lib/opt/user/datanucleus/v2/的文件: asm-4.0.jar datanucleus-api-jdo-3.1.3.jar datanucleus-api-jpa-3.1.3.jar datanucleus-appengine

我想更新我的GAE web应用程序以使用JPA 2.0。从文档中,它说我必须将
appengine java sdk/lib/opt/user/datanucleus/v2/
的内容复制到项目的
lib
文件夹中

这是appengine java sdk/lib/opt/user/datanucleus/v2/的文件:

  • asm-4.0.jar
  • datanucleus-api-jdo-3.1.3.jar
  • datanucleus-api-jpa-3.1.3.jar
  • datanucleus-appengine-2.1.2.jar
  • datanucleus-core-3.1.3.jar
  • geronimo-jpa_2.0_spec-1.0.jar
  • jdo-api-3.0.1.jar
  • jta-1.1.jar
  • 目前,这是project的
    lib
    文件夹中可能影响迁移的内容:

  • appengine-api-1.0-sdk-1.7.7.1.jar
  • appengine-api-labs.jar
  • appengine-endpoints.jar
  • appengine-jsr107cache-1.7.7.1.jar
  • asm-3.3.jar
  • asm-commons-3.3.jar
  • asm-tree-3.3.jar
  • datanucleus-appengine-1.0.10.final.jar
  • datanucleus-core-1.1.5.jar
  • datanucleus-jpa-1.1.5.jar
  • geronimo-jpa_3.0_spec-1.1.1.jar
  • geronimo-jta_1.1_spec-1.1.1.jar
  • jdo2-api-2.3-eb.jar
  • jsr107cache-1.1.jar
  • 我应该删除哪些文件?我试图删除具有新版本的文件,但eclipse正在查找旧文件:

  • datanucleus-appengine-1.0.10.final.jar
  • datanucleus-core-1.1.5.jar
  • geronimo-jpa_3.0_spec-1.1.1.jar
  • 这是我的persistence.xml:

    <?xml version="1.0" encoding="UTF-8" ?>
    <persistence 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_1_0.xsd" version="1.0">
    
        <persistence-unit name="transactions-optional">
            <provider>org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider</provider>
            <properties>
                <property name="datanucleus.NontransactionalRead" value="true"/>
                <property name="datanucleus.NontransactionalWrite" value="true"/>
                <property name="datanucleus.ConnectionURL" value="appengine"/>
    
                <property name="datanucleus.appengine.ignorableMetaDataBehavior" value="NONE"/>
            </properties>
        </persistence-unit>
    
    </persistence>
    
    
    org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider
    

    有什么帮助吗?感谢使用Datanucleus需要eclipse插件检查此项

    在您的
    Persistence.xml
    org.datanucleus.api.jpa.PersistenceProviderImpljpa2.0提供程序中,将持久性提供程序更改为

    用相同的新库更改每个库

    这是我的应用程序的屏幕截图 注*使用GAE 1.7.4


    我删除了旧文件,但我的eclipse说缺少这些文件,如何修复?尝试清理项目:项目>>清理我已经清理了项目。解决方案是
    右键单击项目>>属性>>谷歌>>应用引擎>>数据存储>>Datanucleus version=v2
    是的,很抱歉我忘了告诉您:)