我已经创建了一个appengine,它运行正常,并以调试模式从Google云SQL数据库返回记录。当我部署appegine并运行端点时,会出现错误。而我在appengine日志中得到的错误是:为什么在部署appengine时出现Persistence.createEntityManagerFactory(“transactions-optional”)错误
引起:org.datanucleus.exceptions.NucleusUserException:没有可用的类型为“jdbc”的StoreManager。确保你已经将相关的DataNucleus商店插件放入CLASSPATH中,并且如果通过JNDI或DataSource定义了连接,则还需要提供持久性属性“datanucleus.storeManagerType”。
这里是一个列表,或在战争\ WEB-INF \ lib目录罐子:
- 的AppEngine-API-1.0-SDK-1.7.6
- 的AppEngine-API实验室
- 的AppEngine -endpoints
- 的AppEngine-jsr107cache-1.7.6
- ASM-4.0
- com.sun.tools.xjc_2.2.0
- COM .sun.xml.bind_2.2.0.v201004141950
- DataNucleus将-API-JDO-3.1.3
- DataNucleus将-API的JP-A-3.1.3
- DataNucleus将-的AppEngine-2.1.2
- DataNucleus将核-3.1.3
- 的EclipseLink
- 的EclipseLink-JPA-modelgen_2.4.1.v20121003-ad44345
- GCM-服务器
- Geronimo的jpa_2.0_spec-1.0
- javax.act ivation_1.1.0.v201108011116
- javax.mail_1.4.0.v201005080615
- javax.persistence_2.0.4.v201112161009
- javax.xml.bind_2.2.0.v201105210648
- javax.xml.stream_1.0.1.v201004272200
- JDO-API-3.0.1
- json_simple-1.1
- jsr107cache-1.1
- JTA-1.1
- org.eclipse.persisten ce.jpars_2.4.1.v20121003-ad44345
这里是我的persistence.xml:
<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_2_0.xsd" version="2.0">
<persistence-unit name="transactions-optional" transaction-type="RESOURCE_LOCAL">
<provider></provider>
<class>com.example.myapp.Class1</class>
<class>com.example.myapp.Class2</class>
<properties>
<property name="datanucleus.NontransactionalRead" value="true"/>
<property name="datanucleus.NontransactionalWrite" value="true"/>
<property name="javax.persistence.jdbc.driver" value="com.google.appengine.api.rdbms.AppEngineDriver"/>
<property name="javax.persistence.jdbc.url" value="jdbc:google:rdbms://something.com:someproj:someapp/somedb"/>
<property name="javax.persistence.jdbc.user" value=""/>
<property name="javax.persistence.jdbc.password" value=""/>
</properties>
</persistence-unit>
</persistence>
使用: 云SQL JPA Datanucleous V2 SDK 1.7.6 Jre7
由于它在调试模式下工作正常,我不明白这个问题可能是什么,因为我是appengine的新手。如果您需要更多信息,请告诉我。
谢谢你们。
感谢DataNucleus的帮助。我已经做出了您所建议的更改。当我在调试模式下运行appengine时,它现在会出现以下错误:“Catalog \”\“Schema \”\“中的javax.persistence.PersistenceException:缺少表格:\”MYTABLE' \“。DataNucleus要求此表格执行它的持久化操作,或者你的MetaData不正确,或者你需要启用\“datanucleus.autoCreateTables \”“。我需要做什么来解决这个问题?我有一个类似的错误,我在实体类中使用了@Table注解,但现在不能工作。 – 2013-04-29 20:47:27
它告诉你该怎么做,添加该持久性属性 – DataNucleus 2013-04-30 02:40:20
感谢DataNucleus的工作:) – 2013-05-02 19:32:11