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

相關問題