在 play-scala 项目中加载 JS 资源时出现问题

problems loading JS resources in a play-scala project

在我的 play-scala 应用程序中,在 webpack.config.js 函数中我 运行 命令

输出:{ 路径:__dirname + '/public/compiled',文件名:'bundle.js' }

并且正在生成文件 bundle.js。我的视图有下一个命令:

<script src=@routes.Assets.versioned("compiled/bundle.js")></script>

并且我收到一条错误消息说 "Failed to load resource: the server responded with a status of 500 "。我看到它正在寻找 assets/compiled/bundle.js。我需要在 play-scala 配置中做哪些更改才能使 bundle.js 文件可找到!

我的路线中也有:

GET     /assets/*file               controllers.Assets.versioned(path="/public", file: Asset)

谢谢

错误 内部服务器错误,对于 (GET) [/assets/compiled/bundle.js] ->

play.api.http.HttpErrorHandlerExceptions$$anon$1: 执行异常[[RuntimeException: java.lang.NoSuchMethodError: org.apache.commons.codec.digest.DigestUtils.sha1Hex(Ljava/lang/String;)Ljava/lang/String;]] 在 play.api.http.HttpErrorHandlerExceptions$.throwableToUsefulException(HttpErrorHandler.scala:265) ~[play_2.11-2.4.3.jar:2.4.3] 在 play.api.http.DefaultHttpErrorHandler.onServerError(HttpErrorHandler.scala:191) ~[play_2.11-2.4.3.jar:2.4.3] 在 play.api.GlobalSettings$class.onError(GlobalSettings.scala:179) [play_2.11-2.4.3.jar:2.4.3] 在 play.api.DefaultGlobal$.onError(GlobalSettings.scala:212) [play_2.11-2.4.3.jar:2.4.3] 在 play.api.http.GlobalSettingsHttpErrorHandler.onServerError(HttpErrorHandler.scala:94) [play_2.11-2.4.3.jar:2.4.3] 在 play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$9$$anonfun$apply$1.applyOrElse(PlayDefaultUpstreamHandler.scala:158) [play-netty-server_2.11-2.4.3.jar:2.4.3 ] 在 play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$9$$anonfun$apply$1.applyOrElse(PlayDefaultUpstreamHandler.scala:155) [play-netty-server_2.11-2.4.3.jar:2.4.3 ] 在 scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:36) [scala-library-2.11.8.jar:na] 在 scala.util.Failure$$anonfun$recover$1.apply(Try.scala:216) [scala-library-2.11.8.jar:na] 在 scala.util.Try$.apply(Try.scala:192) [scala-library-2.11.8.jar:na] 在 scala.util.Failure.recover(Try.scala:216) [scala-library-2.11.8.jar:na] 在 scala.concurrent.Future$$anonfun$recover$1.apply(Future.scala:326) [scala-library-2.11.8.jar:na] 在 scala.concurrent.Future$$anonfun$recover$1.apply(Future.scala:326) [scala-library-2.11.8.jar:na] 在 scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32) [scala-library-2.11.8.jar:na] 在 play.api.libs.iteratee.Execution$trampoline$.executeScheduled(Execution.scala:109) [play-iteratees_2.11-2.4.3.jar:2.4.3] 在 play.api.libs.iteratee.Execution$trampoline$.execute(Execution.scala:71) [play-iteratees_2.11-2.4.3.jar:2.4.3] 在 scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:40) [scala-library-2.11.8.jar:na] 在 scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:248) [scala-library-2.11.8.jar:na] 在 scala.concurrent.Promise$class.complete(Promise.scala:55) [scala-library-2.11.8.jar:na] 在 scala.concurrent.impl.Promise$DefaultPromise.complete(Promise.scala:153) [scala-library-2.11.8.jar:na] 在 scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:23) [scala-library-2.11.8.jar:na] 在 akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:40) [akka-actor_2.11.jar:na] 在 akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:397) [akka-actor_2.11.jar:na] 在 scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) [scala-library-2.11.8.jar:na] 在 scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) [scala-library-2.11.8.jar:na] 在 scala.concurrent.forkjoin.ForkJoinPool.运行Worker(ForkJoinPool.java:1979) [scala-library-2.11.8.jar:na] 在 scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) [scala-library-2.11.8.jar:na] 由以下原因引起:java.lang.RuntimeException:java.lang.NoSuchMethodError:org.apache.commons.codec.digest.DigestUtils.sha1Hex(Ljava/lang/String;)Ljava/lang/String; 在 play.api.mvc.ActionBuilder$$anon$1.apply(Action.scala:498) ~[play_2.11-2.4.3.jar:2.4.3] 在 play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4$$anonfun$apply$5.apply(Action.scala:105) ~[play_2.11-2.4。 3.jar:2.4.3] 在 play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4$$anonfun$apply$5.apply(Action.scala:105) ~[play_2.11-2.4。 3.jar:2.4.3] 在 play.utils.Threads$.withContextClassLoader(Threads.scala:21) ~[play_2.11-2.4.3.jar:2.4.3] 在 play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4.apply(Action.scala:104) ~[play_2.11-2.4.3.jar: 2.4.3] 在 play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4.apply(Action.scala:103) ~[play_2.11-2.4.3.jar: 2.4.3] 在 scala.Option.map(Option.scala:146) ~[scala-library-2.11.8.jar:na] 在 play.api.mvc.Action$$anonfun$apply$1.apply(Action.scala:103) ~[play_2.11-2.4.3.jar:2.4.3] 在 play.api.mvc.Action$$anonfun$apply$1.apply(Action.scala:96) ~[play_2.11-2.4.3.jar:2.4.3] 在 play.api.libs.iteratee.DoneIteratee$$anonfun$mapM$2.apply(Iteratee.scala:741) ~[play-iteratees_2.11-2.4.3.jar:2.4.3] 在 play.api.libs.iteratee.DoneIteratee$$anonfun$mapM$2.apply(Iteratee.scala:741) ~[play-iteratees_2.11-2.4.3.jar:2.4.3] 在 scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24) [scala-library-2.11.8.jar:na] 在 scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24) [scala-library-2.11.8.jar:na] ... 省略了 6 个公共框架 由以下原因引起:java.lang.NoSuchMethodError:org.apache.commons.codec.digest.DigestUtils.sha1Hex(Ljava/lang/String;)Ljava/lang/String; 在 play.api.libs.Codecs$.sha1(Codecs.scala:35) ~[play_2.11-2.4.3.jar:2.4.3] 在 controllers.AssetInfo$$anonfun$5$$anonfun$apply$3.apply(Assets.scala:187) ~[play_2.11-2.4.3.jar:2.4。 3] 在 controllers.AssetInfo$$anonfun$5$$anonfun$apply$3.apply(Assets.scala:187) ~[play_2.11-2.4.3.jar:2.4。 3] 在 scala.Option.map(Option.scala:146) ~[scala-library-2.11.8.jar:na] 在 controllers.AssetInfo$$anonfun$5.apply(Assets.scala:187) ~[play_2.11-2.4.3.jar:2.4.3] 在 controllers.AssetInfo$$anonfun$5.apply(Assets.scala:187) ~[play_2.11-2.4.3.jar:2.4.3] 在 scala.Option.orElse(Option.scala:289) ~[scala-library-2.11.8.jar:na] 在 controllers.AssetInfo.(Assets.scala:187) ~[play_2.11-2.4.3.jar:2.4.3] 在 controllers.Assets$$anonfun$controllers$Assets$$assetInfoFromResource$1$$anonfun$apply$4.apply(Assets.scala:287) ~[play_2.11-2.4.3.jar:2.4.3] 在 controllers.Assets$$anonfun$controllers$Assets$$assetInfoFromResource$1$$anonfun$apply$4.apply(Assets.scala:284) ~[play_2.11-2.4.3.jar:2.4.3] 在 scala.Option.map(Option.scala:146) ~[scala-library-2.11.8.jar:na] 在 controllers.Assets$$anonfun$controllers$Assets$$assetInfoFromResource$1.apply(Assets.scala:284) ~[play_2.11-2.4.3.jar:2.4 .3] 在 controllers.Assets$$anonfun$controllers$Assets$$assetInfoFromResource$1.apply(Assets.scala:284) ~[play_2.11-2.4.3.jar:2.4 .3] 在 akka.dispatch.MonitorableThreadFactory$AkkaForkJoinWorkerThread$$anon$3.block(ThreadPoolBuilder.scala:169) ~[akka-actor_2.11.jar:na] 在 scala.concurrent.forkjoin.ForkJoinPool.managedBlock(ForkJoinPool.java:3640) [scala-library-2.11.8.jar:na] 在 akka.dispatch.MonitorableThreadFactory$AkkaForkJoinWorkerThread.blockOn(ThreadPoolBuilder.scala:167) ~[akka-actor_2.11.jar:na] 在 scala.concurrent.package$.blocking(package.scala:123) ~[scala-library-2.11.8.jar:na] 在 controllers.Assets$.controllers$Assets$$assetInfoFromResource(Assets.scala:282) ~[play_2.11-2.4.3.jar:2.4.3] 在 controllers.Assets$.assetInfo(Assets.scala:294) ~[play_2.11-2.4.3.jar:2.4.3] 在 controllers.Assets$.assetInfoForRequest(Assets.scala:302) ~[play_2.11-2.4.3.jar:2.4.3] 在 controllers.AssetsBuilder$$anonfun$17.apply(Assets.scala:441) ~[play_2.11-2.4.3.jar:2.4.3] 在 controllers.AssetsBuilder$$anonfun$17.apply(Assets.scala:440) ~[play_2.11-2.4.3.jar:2.4.3] 在 scala.Option.map(Option.scala:146) ~[scala-library-2.11.8.jar:na] 在 controllers.AssetsBuilder.controllers$AssetsBuilder$$assetAt(Assets.scala:440) ~[play_2.11-2.4.3.jar:2.4.3] 在 controllers.AssetsBuilder$$anonfun$versioned$1.apply(Assets.scala:419) ~[play_2.11-2.4.3.jar:2.4.3] 在 controllers.AssetsBuilder$$anonfun$versioned$1.apply(Assets.scala:409) ~[play_2.11-2.4.3.jar:2.4.3] 在 play.api.mvc.Action$.invokeBlock(Action.scala:533) ~[play_2.11-2.4.3.jar:2.4.3] 在 play.api.mvc.Action$.invokeBlock(Action.scala:530) ~[play_2.11-2.4.3.jar:2.4.3] 在 play.api.mvc.ActionBuilder$$anon$1.apply(Action.scala:493) ~[play_2.11-2.4.3.jar:2.4.3] ... 省略了 18 个公共帧

我发现了问题:有人放置了一个jar文件:commons-codec-1.4.jar所以它可以被播放引用。这件事在整个 Play 应用程序中造成了严重破坏。