获取EntityManagerFactory实例时出现NoClassDefError

时间:2014-08-01 08:44:45

标签: android google-app-engine jpa

我正在使用app引擎后端构建一个Android应用程序。但是为了将实体插入数据存储区,我无法获得entitymanagefactoy(EMF)实例,因为它抛出了NoClassDefFound Error.I已经尝试了几乎所有早期问题中建议的解决方案。 / p>

Eclipse版本:4.2.0 使用Jre7 并使用apengine-java-sdk-1.8.8

Google插件生成的EMF类:

import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

public final class EMF {
    private static final EntityManagerFactory emfInstance = Persistence.createEntityManagerFactory("transactions-optional");

    private EMF() {
    }

    public static EntityManagerFactory get() {
        return emfInstance;
    }
}

的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.api.jpa.PersistenceProviderImpl</provider>

        <properties>
            <property name="datanucleus.NontransactionalRead" value="true"/>
            <property name="datanucleus.NontransactionalWrite" value="true"/>
            <property name="datanucleus.ConnectionURL" value="appengine"/>

        </properties>
    </persistence-unit>
</persistence>

1 个答案:

答案 0 :(得分:0)

您是否在java构建路径中标记了依赖项 - &gt;订单和出口? 此外,我有类似的问题,第三个库需要自己的依赖已经由eclipse解决,但在运行时没有工作,因为它们包含在主项目而不是库本身。