Reputation: 1293
When trying to launch a Play Java application with Morphia for MongoDB, I get the following stacktrace, caused by a recompilation of the Filter type that is already compiled :
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!)
~ ...
Upvotes: 1
Views: 538
Reputation: 1293
This problem happens when the morphia module is being loaded from both the application.conf and dependencies.yml
To resolve it, go to your application.conf and comment out the line below "load morphia module", then restart Play.
# load morphia module
#module.morphia=${play.path}/modules/morphia-1.2.3d
Upvotes: 2