2014-09-03 74 views
0

我使用命令播放框架和Eclipse:java.lang.NoClassDefFoundError:控制器/路由

activator new myapp play-java 

然后创建了一个新的应用程序,而不需要修改任何东西,我使用

activator ui 

为了打开新项目的管理员Web控制台。然后,我从该控制台生成我的应用程序的eclipse项目。然后我导入项目进入一个新的Eclipse工作区,这是很好的,但是当我运行IntegrationTest类(右键单击该文件),我得到这个异常:

[ERROR] [09/03/2014 17:50:25.444] [play-akka.actor.default-dispatcher-3] [ActorSystem(play)] Uncaught error from thread [play-akka.actor.default-dispatcher-3] shutting down JVM since 'akka.jvm-exit-on-fatal-error' is enabled 
java.lang.NoClassDefFoundError: controllers/routes 
at views.html.main$.apply(main.template.scala:36) 
at views.html.index$.apply(index.template.scala:31) 
at views.html.index$.render(index.template.scala:39) 
at views.html.index.render(index.template.scala) 
at controllers.Application.index(Application.java:11) 
at Routes$$anonfun$routes$1$$anonfun$applyOrElse$1$$anonfun$apply$1.apply(routes_routing.scala:59) 
at Routes$$anonfun$routes$1$$anonfun$applyOrElse$1$$anonfun$apply$1.apply(routes_routing.scala:59) 
at play.core.Router$HandlerInvokerFactory$$anon$4.resultCall(Router.scala:264) 
at play.core.Router$HandlerInvokerFactory$JavaActionInvokerFactory$$anon$15$$anon$1.invocation(Router.scala:255) 
at play.core.j.JavaAction$$anon$1.call(JavaAction.scala:55) 
at play.core.j.JavaAction$$anonfun$11.apply(JavaAction.scala:82) 
at play.core.j.JavaAction$$anonfun$11.apply(JavaAction.scala:82) 
at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24) 
at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24) 
at play.core.j.HttpExecutionContext$$anon$2.run(HttpExecutionContext.scala:40) 
at play.api.libs.iteratee.Execution$trampoline$.execute(Execution.scala:46) 
at play.core.j.HttpExecutionContext.execute(HttpExecutionContext.scala:32) 
at scala.concurrent.impl.Future$.apply(Future.scala:31) 
at scala.concurrent.Future$.apply(Future.scala:492) 
at play.core.j.JavaAction$class.apply(JavaAction.scala:82) 
at play.core.Router$HandlerInvokerFactory$JavaActionInvokerFactory$$anon$15$$anon$1.apply(Router.scala:252) 
at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4$$anonfun$apply$5.apply(Action.scala:130) 
at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4$$anonfun$apply$5.apply(Action.scala:130) 
at play.utils.Threads$.withContextClassLoader(Threads.scala:21) 
at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4.apply(Action.scala:129) 
at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4.apply(Action.scala:128) 
at scala.Option.map(Option.scala:145) 
at play.api.mvc.Action$$anonfun$apply$1.apply(Action.scala:128) 
at play.api.mvc.Action$$anonfun$apply$1.apply(Action.scala:121) 
at play.api.libs.iteratee.Iteratee$$anonfun$mapM$1.apply(Iteratee.scala:483) 
at play.api.libs.iteratee.Iteratee$$anonfun$mapM$1.apply(Iteratee.scala:483) 
at play.api.libs.iteratee.Iteratee$$anonfun$flatMapM$1.apply(Iteratee.scala:519) 
at play.api.libs.iteratee.Iteratee$$anonfun$flatMapM$1.apply(Iteratee.scala:519) 
at play.api.libs.iteratee.Iteratee$$anonfun$flatMap$1$$anonfun$apply$14.apply(Iteratee.scala:496) 
at play.api.libs.iteratee.Iteratee$$anonfun$flatMap$1$$anonfun$apply$14.apply(Iteratee.scala:496) 
at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24) 
at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24) 
at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41) 
at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:393) 
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) 
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) 
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) 
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) 
Caused by: java.lang.ClassNotFoundException: controllers.routes 
at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
... 43 more 

有人知道我该如何解决呢?

非常感谢!

回答

0

最有可能是Eclipse运行sbt与activator同时构建工作区造成的。 This thread有一个深入的解释。尝试在Eclipse中关闭“自动构建”,或者指示它构建到与目标不同的目录。