Dav*_*idB 5 google-app-engine datanucleus jpa-2.0
我很难让Datanucleus 2在Eclipse中使用Datanucleus插件增强GAE 1.7.0上的类来正常工作.当我按照这里的手动步骤操作时,这在旧版GAE中运行良好:
http://www.datanucleus.org/products/accessplatform/guides/eclipse/index.html
但是自从升级以来,GAE现在包含了这些库(它们的新版本看起来像),并且GAE还有一个可以设置的新"增强器"标志.我无论如何都无法在Eclipse中设置此标志.当我想要V2库并且Datanucleus根据此错误发生冲突时,GAE似乎仍然包含v1库:
Jul 1, 2012 5:59:55 PM org.datanucleus.enhancer.DataNucleusEnhancer <init>
INFO: DataNucleus Enhancer : Using ClassEnhancer "ASM" for API "JPA"
Exception in thread "main" java.lang.NoSuchFieldError: NUCLEUS_CONTEXT_LOADER
at org.datanucleus.NucleusContext.<clinit>(NucleusContext.java:73)
at org.datanucleus.enhancer.DataNucleusEnhancer.<init>(DataNucleusEnhancer.java:171)
at org.datanucleus.enhancer.DataNucleusEnhancer.main(DataNucleusEnhancer.java:1265)
Run Code Online (Sandbox Code Playgroud)
我尝试了很多不同的东西.我尝试过使用所有默认设置.我已经尝试将v2库添加到Datanucleus运行时类路径条目.我试过在src和libs中删除GAE 1.7.0 SDK中的v1库.但不知怎的,GAE仍在继续(或者试图超越V1库.我甚至尝试过手动设置配置的旧方法,如上面链接所指定的.这有点令人沮丧,因为我现在好像在我根本无法使用这些库的情况下.至少在旧版本的GAE中我可以手动设置它起作用.现在似乎什么都没有用.有什么建议吗?
我遇到了同样的错误,并且能够通过以下方式在我的项目中解决它:
要澄清DavidB的建议,请打开包含项目的目录.将有一个名为".settings"的文件夹,打开它并编辑com.google.appengine.eclipse.core.prefs.只需将第三行从gaeDatanucleusVersion = v1更改为gaeDatanucleusVersion = v2
完成此操作后,从war/WEB-INF/lib目录中删除以下jar:
重启eclipse,你应该好好去.
| 归档时间: |
|
| 查看次数: |
4610 次 |
| 最近记录: |