J'ai un problème avec la mise en cache du navigateur, donc j'ai décidé de changerScala Jouer `@ routes.Assets.versioned` provoquant une erreur non descriptive
<script type="text/javascript" src="@routes.Assets.at("/accounts/dist/inline.bundle.js")"></script>
à
<script type="text/javascript" src="@routes.Assets.versioned("/public/accounts/dist","inline.bundle.js")"></script>
que nous faisons déjà dans d'autres projets, mais je reçois cette erreur totalement inutile:
C:\work\FrontServices\Spike2>sbt -jvm-debug 9999 run
"C:\Users\xavier\.sbt\preloaded\org.scala-sbt\sbt\"1.0.2"\jars\sbt.jar"
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0
Listening for transport dt_socket at address: 58387
[warn] Executing in batch mode.
[warn] For better performance, hit [ENTER] to switch to interactive mode, or
[warn] consider launching sbt without any commands, or explicitly passing 'shell'
[info] Loading project definition from C:\Users\xavier\.sbt\0.13\staging\560eb781744c869bfbb7\sbt-coveralls\project
[info] Loading project definition from C:\work\FrontServices\Spike2\project
[info] Set current project to Spike2 (in build file:/C:/work/FrontServices/Spike2/)
[info] Compiling 1 Scala source to C:\work\FrontServices\Spike2\modules\accounts\target\scala-2.11\classes...
[error] C:\work\FrontServices\Spike2\modules\accounts\app\com\newswhip\accounts\views\accounts.scala.html:20: too many arguments for method versioned: (file: controllers.Assets.Asset)play.api.mvc.Call
[error] <script type="text/javascript" src="@routes.Assets.versioned("/public/accounts/dist","inline.bundle.js")"></script>
[error] ^
[error] C:\work\FrontServices\Spike2\modules\accounts\app\com\newswhip\accounts\views\accounts.scala.html:21: too many arguments for method versioned: (file: controllers.Assets.Asset)play.api.mvc.Call
[error] <script type="text/javascript" src="@routes.Assets.versioned("/public/accounts/dist","polyfills.bundle.js")"></script>
[error] ^
[error] C:\work\FrontServices\Spike2\modules\accounts\app\com\newswhip\accounts\views\accounts.scala.html:22: too many arguments for method versioned: (file: controllers.Assets.Asset)play.api.mvc.Call
[error] <script type="text/javascript" src="@routes.Assets.versioned("/public/accounts/dist","styles.bundle.js")"></script>
[error] ^
[error] C:\work\FrontServices\Spike2\modules\accounts\app\com\newswhip\accounts\views\accounts.scala.html:23: too many arguments for method versioned: (file: controllers.Assets.Asset)play.api.mvc.Call
[error] <script type="text/javascript" src="@routes.Assets.versioned("/public/accounts/dist","vendor.bundle.js")"></script>
[error] ^
[error] C:\work\FrontServices\Spike2\modules\accounts\app\com\newswhip\accounts\views\accounts.scala.html:24: too many arguments for method versioned: (file: controllers.Assets.Asset)play.api.mvc.Call
[error] <script type="text/javascript" src="@routes.Assets.versioned("/public/accounts/dist","main.bundle.js")"></script>
[error] ^
[error] 5 errors found
[error] (accounts/compile:compileIncremental) Compilation failed
[error] Total time: 4 s, completed 20-Oct-2017 10:27:09
C:\work\FrontServices\Spike2>
C'est le fragment de code du routes
fichier
# Map static resources from the /public folder to the /assets URL path
GET /assets/*file controllers.Assets.versioned(path = "/public/accounts/dist", file: Asset)
# Map static resources from the /public folder to the /assets URL path
GET /assets/*file controllers.Assets.at(path = "/public", file)
Des idées?
Je passe 2 paramètres int versionnées, parce que nous faisons déjà avec succès dans les 2 autres projets. Outre le fichier routes a cette ligne dans 'GET/assets/fichier * controllers.Assets.versioned (path = "/ public/comptes/dist", fichier: Asset)' si versionné peut prendre 2 params. Je l'ai déjà essayé la fusion de la chaîne 1 en param comme il est utilisé avec '' - juste remplacé 'at' par' versioned' mais j'obtiens l'erreur "noSuchMethod + controllers.ReverseAssets.versioned" lors de la compilation. – codeepic
L'erreur exacte est 'erreur non capturé fil [application akka.actor.default-répartiteur-6] arrêt machine virtuelle Java depuis 'akka.jvm-sortie-sur-erreur fatale' est activée pour ActorSystem [l'application] java. lang.NoSuchMethodError: controllers.ReverseAssets.versioned (Lcontrollers/actifs $ d'actifs;) Lplay/api/mvc/appel, ' – codeepic
Ok, essayez de supprimer le chemin que vous avez déjà donné des routes à l'intérieur du versionné.Ce que je veux dire est, dans les routes que vous avez spécifié le chemin comme '/ public/accounts/dist', alors supprimez cette partie lorsque vous accédez à ceci dans votre code. Essayez d'utiliser - 'src =" @ routes.Assets.versioned ("inline.bundle.js") "'. J'espère que ca fonctionne! –