【问题标题】:morphia module ObjectIdBinder already defined errormorphia 模块 ObjectIdBinder 已定义错误
【发布时间】:2011-08-10 10:29:10
【问题描述】:

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

10:20:53,048 信息 ~ 开始 /home/user/NetBeansProjects/um 10:20:53,056 WARN ~ 在 application.conf 中声明模块是 已弃用。改用dependencies.yml (module.morphia) 10:20:53,060 INFO ~ Module morphia 可用 (/home/user/play-1.2.2/modules/morphia-1.2.1beta6) 10:20:53,062 INFO ~ Module morphia 可用 (/home/user/play-1.2.2/modules/morphia-1.2.1beta6) 10:20:54,538 WARN ~ 你正在运行 Play!在 DEV 模式下 10:20:54,828 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) 在 play.Play.detectChanges(Play.java:596) 在 在 Invocation.HTTP 处播放.Invoker$Invocation.init(Invoker.java:186) 请求(播放!)

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

【问题讨论】:

    标签: mongodb playframework morphia


    【解决方案1】:

    这表明您将模块 morphia 包含了两次。一旦进入 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
    

    【讨论】:

    • 谢谢。 MOrphia 模块被加载了两次,所以我在使用时抑制了一个。摆脱它的依赖版本并将jar文件移动到项目本地模块目录。
    猜你喜欢
    • 1970-01-01
    • 2016-04-02
    • 2014-03-13
    • 2020-07-10
    • 1970-01-01
    • 2016-07-25
    • 1970-01-01
    • 2016-08-09
    • 2012-07-25
    相关资源
    最近更新 更多