web-dev-qa-db-fra.com

Intellij IDEA ne peut pas résoudre le symbole avec le cadre de jeu

J'utilise IDEA 13 avec Play 2.2.1 et je faisais les exemples sur le site play .

public static Result index() {
   return redirect(routes.Application.tasks());
}

IDEA dit "ne peut pas résoudre la méthode redirect (?)" Et le rouge souligne routes.Application.tasks ()

J'ai fait "compiler" puis "idée" à partir de la console de lecture.

28
Pavan K Mutt

J'ai eu un problème similaire lors du test de mon contrôleur. Je l'ai résolu par "File" > "Open Project" et j'ai choisi le dossier de base du projet Play Framework (supprimez tout le fichier de paramètres d'idée du dossier avant afin qu'il soit réimporté à l'aide des paramètres SBT).

La dernière version du support SBT pour IDEA a effectué 90% du travail. Puis F4 pour entrer dans la boîte de dialogue de paramétrage du module. Configurez les dépendances de votre projet comme dans l’illustration ci-dessous (le dossier rouge vif a été défini par IDEA et n’existe pas encore dans mon projet, alors ne vous inquiétez pas s’ils le font dans le vôtre). Il s'agit d'inclure les classes gérées et le code généré dans le code que l'idée utilisera et indexera.

enter image description here

je peux maintenant utiliser un code comme celui-ci depuis IDEA et le déboguer sans problème.

Result result = Helpers.callAction(controllers.routes.ref.CrudController.createEntity(CrudEntities.contact.name()),
        new FakeRequest().withJsonBody(paramJson)
);

votre façon de faire devrait également fonctionner.

22

J'utilise bien "IntelliJ Idea 13" et fais "sbt" du projet Playframework avec "Activator". Après tout essayé, j'ai finalement résolu ce problème en suivant les étapes dans terminal/cmd de mon projet sbt root existant

  1. entrez cette commande dans terminal/cmd: sbt clean
  2. puis supprimez ces fichiers et dossiers: ".idea", "tous les fichiers _.iml", "tous les dossiers cibles résident dans le dossier du projet (cela n’est peut-être pas nécessaire, mais je l’ai fait.)"
  3. entrez cette commande dans terminal/cmd: sbt idea
  4. maintenant dans IntelliJ: projet ouvert 

Remarque: Si vous construisez le projet Playframework avec la commande "Lecture" au lieu de "Activateur" Au lieu de la commande sbt idea, vous pouvez essayer play idea ou play "idea with-sources=yes" 

J'espère que ceci vous aidera.

9
Ramesh Shrestha

Ces étapes fonctionnent pour moi: ajoutez les lignes suivantes à votre fichier plugins.sbt:

resolvers += "sbt-idea-repo" at "http://mpeltonen.github.com/maven/"
addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.2.0")
but if you don't know the correct version of sbt-idea then use this instead:
addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "latest.integration")

Attention - Cela prendra trop de temps à construire car il faut tout analyser la version et obtenir la dernière version.

Exécutez cette commande - 

sbt gen-idea
7
Sunil Kapil

Je pourrais résoudre le problème en marquant les répertoires de code générés comme dossier "Sources". Allez dans Fichier -> Structure du projet -> Module "racine" -> Sources.

 Intellij Project Structure with Module Settings

6
Atul Dambalkar

J'ai dû ajouter l'entrée du plugin ci-dessous à mon plugins.sbt (sous le dossier projects) pour intellij IDEA afin de résoudre les variables de jeu telles que les routes, etc.

addSbtPlugin ("com.github.mpeltonen"% "sbt-idea"% "1.6.0")

Remarque: Après avoir ajouté le plugin ci-dessus à plugins.sbt, exécutez les commandes ci-dessous pour reconstruire l'idée et résoudre le problème:

  • activateur propre
  • idée d'activateur
4
Arun Gopalpuri

J'ai eu un problème similaire - IDEA n'a pas pu résoudre Play! dépendances du framework. 

Dans mon cas, il y avait un problème avec le dossier .idea. J'ai copié le projet dans un dossier séparé et exécuter la commande "Idée d'activation" dans le dossier racine du projet copié. Ensuite, j'ai comparé les dossiers .idea du projet original et du projet copié - là, j'ai trouvé une différence! Dans le projet copié du dossier .idea/libraries il y avait beaucoup de fichiers XML contenant des liens vers des dépendances, je les ai donc copiés dans le même dossier dans le projet original, le projet réindexé et tout fonctionne parfaitement à partir de ce moment :) I Je l'ai fait comme ceci parce que je ne voulais pas perdre les paramètres de mon projet (supprimer le dossier .idea et exécuter la commande "activator idea" dans le dossier du projet d'origine devrait résoudre le problème, mais les paramètres du projet seraient perdus).

J'espère que cela aide en quelque sorte :).

0
Pavol Golias

Dans mon cas, exécuter la commande sbt à partir d'un utilisateur qui n'a pas l'autorisation pour le projet dans lequel vous entrez sbt dans. corrigez-le . Après que ./sbt compile

0
Holsi Hasanaj