1

Morphia for MongoDB で Play Java アプリケーションを起動しようとすると、すでにコンパイルされている Filter タイプの再コンパイルが原因で、次のスタックトレースが表示されます。

Internal Server Error (500) for request GET /

Compilation error (In {module:morphia-1.2.3d}/app/morphia/Filter.java around line 8)
The file {module:morphia-1.2.3d}/app/morphia/Filter.java could not be compiled. Error raised is : The type Filter is already defined

play.exceptions.CompilationException: The type Filter is already defined at play.classloading.ApplicationCompiler$2.acceptResult(ApplicationCompiler.java:246)
        at org.eclipse.jdt.internal.compiler.Compiler.handleInternalException(Compiler.java:672)
        at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:516)
        at play.classloading.ApplicationCompiler.compile(ApplicationCompiler.java:278)
        at play.classloading.ApplicationClassloader.getAllClasses(ApplicationClassloader.java:412)
        at play.Play.start(Play.java:485)
        at play.Play.detectChanges(Play.java:599)
        at play.Invoker$Invocation.init(Invoker.java:186)
        at Invocation.HTTP Request(Play!)
~ ...
4

1 に答える 1

2

この問題は、morphia モジュールが application.conf と dependencies.yml の両方から読み込まれている場合に発生します。

これを解決するには、application.conf に移動し、"load morphia module" の下の行をコメントアウトしてから、Play を再起動します。

# load morphia module 
#module.morphia=${play.path}/modules/morphia-1.2.3d
于 2011-10-27T21:05:45.780 に答える