2014-10-31 118 views
2

编译我的播放框架应用程序时遇到了一些问题。有时应用程序运行良好,但大多数时候这些问题都是由sbt和activator工具发生的。以下是编译我的应用程序与SBT的例子:编译播放应用程序的问题

[info] Compiling 15 Scala sources and 1 Java source to C:\Server\trunk\target\scala-2.11\classes... 
[error] C:\Server\trunk\target\scala-2.11\src_managed\main\controllers\routes.java:8: error: cannot find symbol 
[error] public static final controllers.ReverseAssets Assets = new controllers.ReverseAssets(); 
[error]        ^
[error] symbol: class ReverseAssets 
[error] location: package controllers 
[error] C:\Server\trunk\target\scala-2.11\src_managed\main\controllers\routes.java:9: error: cannot find symbol 
[error] public static final controllers.ReverseApplication Application = new controllers.ReverseApplication(); 
[error]        ^
[error] symbol: class ReverseApplication 
[error] location: package controllers 
[error] C:\Server\trunk\target\scala-2.11\src_managed\main\controllers\routes.java:12: error: package controllers.javascript does not exist 
[error] public static final controllers.javascript.ReverseAssets Assets = new controllers.javascript.ReverseAssets(); 
[error]           ^
[error] C:\Server\trunk\target\scala-2.11\src_managed\main\controllers\routes.java:13: error: package controllers.javascript does not exist 
[error] public static final controllers.javascript.ReverseApplication Application = new controllers.javascript.ReverseApplication(); 
[error]           ^
[error] C:\Server\trunk\target\scala-2.11\src_managed\main\controllers\routes.java:18: error: package controllers.ref does not exist 
[error] public static final controllers.ref.ReverseAssets Assets = new controllers.ref.ReverseAssets(); 
[error]         ^
[error] C:\Server\trunk\target\scala-2.11\src_managed\main\controllers\routes.java:19: error: package controllers.ref does not exist 
[error] public static final controllers.ref.ReverseApplication Application = new controllers.ref.ReverseApplication(); 
[error]         ^
[error] C:\Server\trunk\target\scala-2.11\src_managed\main\controllers\routes.java:8: error: cannot find symbol 
[error] public static final controllers.ReverseAssets Assets = new controllers.ReverseAssets(); 
[error]                  ^
[error] symbol: class ReverseAssets 
[error] location: package controllers 
[error] C:\Server\trunk\target\scala-2.11\src_managed\main\controllers\routes.java:9: error: cannot find symbol 
[error] public static final controllers.ReverseApplication Application = new controllers.ReverseApplication(); 
[error]                    ^
[error] symbol: class ReverseApplication 
[error] location: package controllers 
[error] C:\Server\trunk\target\scala-2.11\src_managed\main\controllers\routes.java:12: error: package controllers.javascript does not exist 
[error] public static final controllers.javascript.ReverseAssets Assets = new controllers.javascript.ReverseAssets(); 
[error]                       ^
[error] C:\Server\trunk\target\scala-2.11\src_managed\main\controllers\routes.java:13: error: package controllers.javascript does not exist 
[error] public static final controllers.javascript.ReverseApplication Application = new controllers.javascript.ReverseApplication(); 
[error]                          ^
[error] C:\Server\trunk\target\scala-2.11\src_managed\main\controllers\routes.java:18: error: package controllers.ref does not exist 
[error] public static final controllers.ref.ReverseAssets Assets = new controllers.ref.ReverseAssets(); 
[error]                    ^
[error] C:\Server\trunk\target\scala-2.11\src_managed\main\controllers\routes.java:19: error: package controllers.ref does not exist 
[error] public static final controllers.ref.ReverseApplication Application = new controllers.ref.ReverseApplication(); 
[error]                      ^
[error] 12 errors 
[error] (compile:compile) javac returned nonzero exit code 
[error] Total time: 16 s, completed Oct 31, 2014 11:18:25 AM 

其他时候,我会得到这个错误与SBT干净编译:

[info] Compiling 15 Scala sources and 1 Java source to C:\Server\trunk\target\scala-2.11\classes... 
[trace] Stack trace suppressed: run last compile:compile for the full output. 
[error] (compile:compile) java.lang.NoClassDefFoundError: Lcontrollers/ReverseAssets; 
[error] Total time: 45 s, completed Oct 31, 2014 11:45:49 AM 

那我就退出SBT出来然后运行SBT干净再次编译,一切似乎编译好。我甚至可以运行激活运行和一切编译罚款,但没有路由的识别:

enter image description here

然后我会得到与激活运行编译错误:

[info] Compiling 15 Scala sources and 1 Java source to C:\Server\trunk\target\scala-2.11\classes... 
[error] C:\Server\trunk\target\scala-2.11\src_managed\main\controllers\routes.java:13: error: cannot find symbol 
[error] public static final controllers.javascript.ReverseApplication Application = new controllers.javascript.ReverseApplication() 
[error]           ^
[error] symbol: class ReverseApplication 
[error] location: package controllers.javascript 
[error] C:\Server\trunk\target\scala-2.11\src_managed\main\controllers\routes.java:13: error: cannot find symbol 
[error] public static final controllers.javascript.ReverseApplication Application = new controllers.javascript.ReverseApplication() 
[error]                          ^
[error] symbol: class ReverseApplication 
[error] location: package controllers.javascript 
[error] 2 errors 
[error] (compile:compile) javac returned nonzero exit code 
[error] application - 

! @6k3l8fool - Internal server error, for (GET) [/] -> 

play.PlayExceptions$CompilationException: Compilation error[error: cannot find symbol] 
    at play.PlayExceptions$CompilationException$.apply(PlayExceptions.scala:27) ~[na:na] 
    at play.PlayExceptions$CompilationException$.apply(PlayExceptions.scala:27) ~[na:na] 
    at scala.Option.map(Option.scala:145) ~[scala-library-2.11.1.jar:na] 
    at play.PlayReloader$$anon$1$$anonfun$play$PlayReloader$$anon$$taskFailureHandler$1.apply(PlayReloader.scala:235) ~[na:na] 
    at play.PlayReloader$$anon$1$$anonfun$play$PlayReloader$$anon$$taskFailureHandler$1.apply(PlayReloader.scala:230) ~[na:na] 
[warn] play - No application found at invoker init 

然后我运行激活清洁运行,我得到一个完全不同的错误:

[info] Compiling 15 Scala sources and 1 Java source to C:\Server\trunk\target\scala-2.11\classes... 
java.lang.IllegalArgumentException: requirement failed: Source file 'C:\Server\trunk\target\scala-2.11\classes\Routes$$anonfun$routes$1$$anonfun$applyOrElse$4.class' does not exist. 
    at scala.Predef$.require(Predef.scala:233) 
    at sbt.IO$.copyFile(IO.scala:580) 
    at sbt.IO$.sbt$IO$$copyImpl(IO.scala:559) 
    at sbt.IO$$anonfun$copy$1.apply(IO.scala:548) 
    at sbt.IO$$anonfun$copy$1.apply(IO.scala:548) 
    at scala.Function$$anonfun$tupled$1.apply(Function.scala:77) 
    at scala.Function$$anonfun$tupled$1.apply(Function.scala:76) 
    at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) 
    at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) 
    at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59) 
    at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:47) 
    at scala.collection.TraversableLike$class.map(TraversableLike.scala:244) 
    at scala.collection.AbstractTraversable.map(Traversable.scala:105) 
    at sbt.IO$.copy(IO.scala:548) 
    at play.PlayCommands$$anonfun$PostCompile$1.apply(PlayCommands.scala:162) 
    at play.PlayCommands$$anonfun$PostCompile$1.apply(PlayCommands.scala:76) 
    at scala.Function8$$anonfun$tupled$1.apply(Function8.scala:35) 
    at scala.Function8$$anonfun$tupled$1.apply(Function8.scala:34) 
    at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47) 
    at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:42) 
    at sbt.std.Transform$$anon$4.work(System.scala:64) 
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237) 
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237) 
    at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:18) 
    at sbt.Execute.work(Execute.scala:244) 
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237) 
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237) 
    at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:160) 
    at sbt.CompletionService$$anon$2.call(CompletionService.scala:30) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:744) 
[error] (compile:compile) java.lang.IllegalArgumentException: requirement failed: Source file 'C:\Server\AuthWebManager\trunk\target\scala-2.11\classes\Routes$$anonfun$routes$1$$anonfun$applyOrElse$4. 
class' does not exist. 
[error] application - 

! @6k3l90dc5 - Internal server error, for (GET) [/] -> 

play.PlayExceptions$UnexpectedException: Unexpected exception[IllegalArgumentException: requirement failed: Source file 'C:\Server\AuthWebManager\trunk\target\scala-2.11\classes\Routes$$anonfun$routes 
$1$$anonfun$applyOrElse$4.class' does not exist.] 
    at play.PlayReloader$$anon$1$$anonfun$play$PlayReloader$$anon$$taskFailureHandler$1.apply(PlayReloader.scala:237) ~[na:na] 
    at play.PlayReloader$$anon$1$$anonfun$play$PlayReloader$$anon$$taskFailureHandler$1.apply(PlayReloader.scala:230) ~[na:na] 
    at scala.Option.map(Option.scala:145) ~[scala-library-2.11.1.jar:na] 
    at play.PlayReloader$$anon$1.play$PlayReloader$$anon$$taskFailureHandler(PlayReloader.scala:230) ~[na:na] 
    at play.PlayReloader$$anon$1$$anonfun$reload$2.apply(PlayReloader.scala:90) ~[na:na] 
Caused by: java.lang.IllegalArgumentException: requirement failed: Source file 'C:\Server\trunk\target\scala-2.11\classes\Routes$$anonfun$routes$1$$anonfun$applyOrElse$4.class' does not 
exist. 
    at scala.Predef$.require(Predef.scala:233) ~[scala-library-2.11.1.jar:na] 
    at sbt.IO$.copyFile(IO.scala:580) ~[na:na] 
    at sbt.IO$.sbt$IO$$copyImpl(IO.scala:559) ~[na:na] 
    at sbt.IO$$anonfun$copy$1.apply(IO.scala:548) ~[na:na] 
    at sbt.IO$$anonfun$copy$1.apply(IO.scala:548) ~[na:na] 
[warn] play - No application found at invoker init 

我也收到了一些不同的错误,但为了简洁起见,我不会在这里写下它们。我试过删除.sbt和.ivy2/cache文件夹的建议,但是这并没有解决问题。

那么我该怎么做才能让我的游戏应用程序编译并运行,而不会显示非确定性错误?

+0

当您添加到您的routes文件,会发生什么? 'GET/assets/*文件controllers.Assets.at(path =“/ public”,文件)' – 2014-10-31 18:18:29

+0

这已经在路由文件中,我只是没有在问题 – 2014-10-31 18:21:16

+0

中添加它到底是什么?如果我没有编辑我的application.conf文件,这会是一个问题吗? – 2014-10-31 18:28:02

回答

2

我以前运行过类似的随机错误。 我把它缩小到了很大的内存使用量,因为完全相同的代码在我们用于预测试调试的远程开发服务器上编译得很好,如果我关闭了打开的应用程序,它也会编译得很好,没有随机错误为了让编译器保留足够的空闲内存来完成它的工作。

+0

所以你说如果我关闭我的其他打开的应用程序,我的随机错误将消失? – 2014-11-02 22:18:46

+0

我说要检查你的空闲记忆,如果你没有足够的空间,你可能会遇到这样的问题,至少这是发生在我身上的事情。 – 2014-11-03 07:10:29