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 在google app engine和其他平台之间共享JDO类_Google App Engine_Intellij Idea_Jdo - Fatal编程技术网

Google app engine 在google app engine和其他平台之间共享JDO类

Google app engine 在google app engine和其他平台之间共享JDO类,google-app-engine,intellij-idea,jdo,Google App Engine,Intellij Idea,Jdo,我有一个使用JDO2的运行良好的GAE项目。我使用IntellJ进行开发 我想把一些很棒的代码转移到GAE以外的平台上,比如Jetty。因此,我想创建一个模块,GAE项目和jetty项目都可以使用该模块在数据层上实现几乎相同的功能。结构如下: GAE项目 码头工程 共享模块 我正在将支持PersistenceCapable的JDO类移动到SharedModule,一切都可以编译。JettyProject可以很好地将数据持久化到mysql数据库,使用的代码与曾经持久化到app engine数据

我有一个使用JDO2的运行良好的GAE项目。我使用IntellJ进行开发

我想把一些很棒的代码转移到GAE以外的平台上,比如Jetty。因此,我想创建一个模块,GAE项目和jetty项目都可以使用该模块在数据层上实现几乎相同的功能。结构如下:

  • GAE项目
  • 码头工程
  • 共享模块
我正在将支持PersistenceCapable的JDO类移动到SharedModule,一切都可以编译。JettyProject可以很好地将数据持久化到mysql数据库,使用的代码与曾经持久化到app engine数据存储的代码相同

当我运行GAEProject时,我得到一个错误:

Google AppEngine Enhancer:SEVERE:Bundle“org.datanucleus.api.jdo”需要“org.datanucleus”版本“3.2.4”,但已解析的Bundle的版本“3.2.4”超出了预期范围


没有帮助。这是增强器的问题。我想我需要弄清楚如何让GAE Enhancer增强第二个模块中的类。当我使用IntellJ配置增强器时,它不允许我设置目录来增强GAEProject之外的目录

因此,不要使用GAE enhancer插件?,而是通过使用DataNucleus enhancer(毕竟DataNucleus需要增强功能,因此使用其增强器对我来说更有意义)。非常感谢您提供的信息-我相信这将是解决方案的一部分。我安装了插件,关闭了应用程序引擎增强,并将我的项目配置为使用datanucleus增强器。我的类都在设置菜单中被检测到,但当我运行项目时,我得到的“持久类”类[classname]似乎没有得到增强。您可能希望重新运行增强器并检查输出中的错误。“我是否可能需要在某个地方添加一个步骤来运行增强器作为构建/运行配置的一部分?不知道DN idea插件,是其他人编写的,我使用Eclipse。应该在某个地方记录它在做什么?好吧,为了简化,我打开了这个问题,将GAE和Idea从图片中去掉-如果我可以使用maven增强第二个模块中的类,我将更接近我的目标:解决方案: