morphia模块ObjectIdBinder已定义错误

时间:2011-08-10 10:29:11

标签: mongodb playframework morphia

我是morphia,mongoDB和playframework的新手。我正在尝试将它们用于生产。上周我运行它时,我的代码运行得很好。今天早上,我一直收到以下错误,我不知道如何解决它:

  

10:20:53,048 INFO~starting / home / user / NetBeansProjects / um   10:20:53,056警告〜在application.conf中声明模块是   弃用。改为使用dependencies.yml(module.morphia)10:20:53,060   信息〜模块morphia可用   (/home/user/play-1.2.2/modules/morphia-1.2.1beta6)10:20:53,062   信息〜模块morphia可用   (/home/user/play-1.2.2/modules/morphia-1.2.1beta6)10:20:54,538   警告〜你正在玩Play!在DEV模式10:20:5528 INFO~   在端口9000上侦听HTTP(等待第一个请求启动)...   10:21:03,741错误〜

     

@ 67c6i5h2e请求GET /

的内部服务器错误(500)      

编译错误(在   {module:morphia-1.2.1beta6} /app/morphia/ObjectIdBinder.java   第12行)文件   {module:morphia-1.2.1beta6} /app/morphia/ObjectIdBinder.java不能   编译。引发的错误是:ObjectIdBinder类型已经存在   定义

     

play.exceptions.CompilationException:ObjectIdBinder类型   已定义于   play.classloading.ApplicationCompiler $ 2.acceptResult(ApplicationCompiler.java:246)     在   org.eclipse.jdt.internal.compiler.Compiler.handleInternalException(Compiler.java:672)     在   org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:516)     在   play.classloading.ApplicationCompiler.compile(ApplicationCompiler.java:278)     在   play.classloading.ApplicationClassloader.getAllClasses(ApplicationClassloader.java:412)     在play.Play.start(Play.java:482)at   play.Play.detectChanges(Play.java:596)at   在Invocation.HTTP上玩.invoker $ Invocation.init(Invoker.java:186)   请求(玩!)

我也不记得在代码中更改任何内容。

1 个答案:

答案 0 :(得分:3)

这表明您将模块形态包括两次。一旦进入application.conf。第二次我在依赖文件中输入。

10:20:53,056 WARN ~ Declaring modules in application.conf is deprecated. Use dependencies.yml instead (module.morphia) 
10:20:53,060 INFO ~ Module morphia is available (/home/user/play-1.2.2/modules/morphia-1.2.1beta6) 
10:20:53,062 INFO ~ Module morphia is available (/home/user/play-1.2.2/modules/morphia-1.2.1beta6)

检查项目conf文件夹中的dependencies.yml文件,应该有 “ - morphia”或“ - play - > morphia”项目。 由于第一个现已弃用,您应该压制以下内容:

module.morphia=../morphia