2010-07-16 372 views
1

我一直在試圖創建一個單獨的項目,它可以在單個maven文件夾結構下運行sql和gae('datanucleus.properties'文件需要更改的地方)。我首先嚐試使用mysql(現在可以)在GAE網站上獲取問候語示例。然後,從鬍鬚教程激發我自己,我試圖添加所需的依賴關係,以便在gae上運行這些東西。通過輸入mvn gae:run,但是,我收到以下錯誤,發佈在http://pastebin.com/fJ7c7xfx。我花了大量的時間搜索谷歌等答案,但一直沒有能夠推動我的情況。Google App Engine使用maven

我會很高興得到一些指針。 乾杯, manojo

回答

1

這個問題是標籤[JDO]但以下跟蹤:

Caused by: java.lang.ClassNotFoundException: javax.persistence.InheritanceType 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307) 
    at com.google.appengine.tools.development.IsolatedAppClassLoader.loadClass(IsolatedAppClassLoader.java:151) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248) 
    ... 77 more 

表明,你缺少的JPA API罐子(由org.apache.geronimo.specs:geronimo-jpa_1.0_spec:1.1.1提供)。

<dependency> 
    <groupId>org.apache.geronimo.specs</groupId> 
    <artifactId>geronimo-jpa_3.0_spec</artifactId> 
    <version>1.1.1</version> 
</dependency> 

既然你不使用JPA,你不應該這樣做,但現在看來,JPA的API以某種方式由DataNucleus將AppEngine上的插件引用由@Datanucleus解釋。

+0

嗨, 感謝您的答覆。我只能發佈一個鏈接,實際上,我不使用jpa。這是我的pom.xml:http://pastebin.com/2Y7gC2b0。希望能幫助到你。如果需要更多信息,請讓我知道。 乾杯,馬諾霍 – manojo 2010-07-16 08:14:28

+0

@manojo:我不知道你爲什麼會抱怨JPA,現在無法調查或嘗試重現。 – 2010-07-16 13:10:28

0

Google的人不明智地在他們的插件中引用了該JPA類,因此它要求您在CLASSPATH中具有jpa.jar(Geronimo將會這樣做)。他們很久以前就提出了一個問題來解決這個問題,但遺憾的是,他們沒有積極維護他們的插件。

+0

包括jpa罐後,它確實工作,非常感謝你:)。 – manojo 2010-07-20 10:09:58

+0

嗨,我也有這個問題。我有多模塊Maven項目設置。一切都很好,但是當我嘗試用JDO持久化第一個實體時,我得到了這個異常。我的POM文件位於:http://code.google.com/p/etfamer/source/browse/#svn%2Ftrunk%2Fedu_centar_new – Zec 2011-09-23 22:21:34