Question

Est Ide, la compilation de tous les temps, car il me dit avec des traits rouges ondulés quand il ya une erreur?(en plus de la saisie semi-automatique caractéristiques) Ou est-il en train de faire une sorte de pseudo compilation?

Si elle le fait légitime de la compilation, où faut-il mettre ces classes compilées?Je souhaitez mon point de JRebel à ce répertoire à la place de l'individu module de dossiers cibles.

Était-ce utile?

La solution

Meo est juste, de ce que j'ai appris quand j'ai développé des plugins pour personnaliser les langues, l'Ide ne permet pas de compiler quoi que ce soit jusqu'à ce que vous avez explicitement faire de votre projet.Pendant que vous tapez, son lexer/analyseur détecte les éventuelles erreurs de jeton ou de construction de code.Dans l'intervalle, il maintient un index de chaque classe et de méthode dans votre projet et de ses dépendances, ainsi que leur signature, etc.

Après vous vous arrêtez, vous allez voir un peu de couleur de l'oeil, dans la partie supérieure de la droite de la gouttière.Il indique que l'IDE est en cours d'exécution "annotators" et "les inspections de code".Ils sont en mesure de dire si oui ou non les classes, méthodes et variables sont valides sur la base de l'indice actuel et l'état actuel de votre fichier (importations, déclarations, etc.).Il en va de même pour les variables, les paramètres non valides dans les appels de méthode, etc.

Pour:

  • annotators travailler directement sur ce qu'ils appellent un PSI de l'arbre, qui est essentiellement une amélioration de l'AST représentant votre fichier actuel
  • il peut être plus rapide que la compilation de tous les temps (il utilise un index et n'a pas besoin de recompiler le tout dépendant de la classe)
  • annotators peut détecter des choses javac ne se soucient pas de, tels que les bugs potentiels (p. ex.à l'aide de = au lieu de == dans un while condition)

Inconvénients:

  • c'est un loooot de travail, essentiellement, ils ont besoin de réécrire la logique pour trouver toutes les erreurs que javac peut produire (ce qui est pourquoi vous pouvez trouver de nombreuses questions sur leur bugtracker étiquetés "le bon code est rouge"ou de "mauvais code est vert", signifiant qu'il y a une différence entre ce qu'ils détecter et de ce que le compilateur de sortie)

TL;DR:il ne produit pas de .class jusqu'à ce que vous faites de votre projet, tout est fait "à la main"

Autres conseils

Pour chaque module, le chemin de sortie du compilateur peut être trouvé dans les chemins onglet dans Paramètres du module . JREBEL Plugin génère automatiquement Rebel.xML et dérive le chemin de répertoire des paramètres Module , vous n'avez donc pas besoin de pointer vers les emplacements manuellement - il suffit de générer Rebel.xml à l'aide du plugin IDE: clic droit sur le moduleVue du projet -> Jrebel -> Génère Rebel.xml

Intellij comprend le code, il n'a pas besoin de compiler le code pour savoir ce qui est faux.

Juste pour ajouter, après compilation, les classes sont stockées dans le répertoire target s'il s'agit d'un projet Maven - Sinon, le répertoire est spécifié dans la structure du projet de Intellij dans "Sortie du compilateur de projet":

 Entrez la description de l'image ici

J'ai trouvé mes fichiers .Class en allant aux dossiers de sortie / de production / principaux du répertoire domestique du projet.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top