Jouer Cadre @routes.Les actifs.à l'Erreur de Compilation

Je suis en utilisant Jouer 2.4.0 et j'ai essayé de suivre le tutoriel à partir de la page principale: https://playframework.com/
qui est pour Jouer 2.3 et après la résolution d'un couple de questions au sujet des changements dans la Ebean ORM à partir de la version 2.3, 2.4, je suis bloqué avec le message d'erreur suivant:

Compilation error

value at is not a member of controllers.ReverseAssets

Mon index.scala.html:

@(message: String)

@main("Welcome to Play") {

    <script type='text/javascript' src="@routes.Assets.at("javascripts/index.js")"></script>

    <form action="@routes.Application.addPerson()" method="post">
        <input type="text" name="name" />
        <button>Add Person</button>
    </form>

    <ul id="persons">
    </ul>
}

Et mon routes fichier:

# Routes
# This file defines all application routes (Higher priority routes first)
# ~~~~

# Home page
GET         /                    controllers.Application.index()

POST        /person              controllers.Application.addPerson()

GET         /persons             controllers.Application.getPersons()

# Map static resources from the /public folder to the /assets URL path
GET         /assets/*file        controllers.Assets.versioned(path="/public", file: Asset)

J'ai ce même exemple de travail ok avec Jouer 2.3.9

Et je ne peux pas voir quelque chose de différent sur le travail avec les publics actifs dans les docs pour la 2.4.0: https://www.playframework.com/documentation/2.4.0/Assets

Donc... toute aide serait appréciée.

  • Avez-vous essayez d'exécuter sbt clean une fois?
  • J'ai essayé activator clean et activator clean-files, mais j'ai eu la même erreur.
  • J'ai aussi essayé de supprimer manuellement le dossier cible et en cours d'exécution activator compile et j'ai eu le même message d'erreur.
  • Autant que je me souvienne, j'ai eu une erreur similaire migration de jouer 2.4. Mes biens route ressemble à ceci: GET /assets/*file controllers.Assets.versioned(path="/public", file: Asset). Notez l'utilisation de versioned au lieu de at. Peut-être cela peut vous aider. Si pas, il peut être utile si vous validez votre configuration des routes.
  • J'ai oublié de mentionner que vous avez aussi de changer @routes.Assets.at("javascripts/index.js") à @routes.Assets.versioned("javascripts/index.js") dans votre index.scala.html
  • Vous avez entièrement raison, il fonctionne. Merci!
  • créer la réponse s'il vous plaît, de sorte qu'il peut être accepté et upvoted.