Intellij IDEA classes Java non automatique de la compilation sur enregistrer
Hier je suis passé à IntelliJ IDEA à partir d'Eclipse.
Je suis à l'aide de JRebel avec WebSphere Serveur 7 ainsi.
Maintenant tout semble fonctionner assez bien, sauf que quand je modifie un fichier Java, et cliquez sur enregistrer, IntelliJ ne pas re-compiler le fichier, afin de JRebel pour le ramasser.
L'Éclipse "Construire Automatiquement" fonction résolu ce problème.
Dans IntelliJ IDEA, je dois frapper CTRL+MAJ+9 pour compiler la classe pertinente pour JRebel pour le ramasser. Si des modifications sont effectuées à travers deux fichiers, j'ai pour ce faire sur chacun de et depuis l'Ide utilise le sauver tout le mécanisme, c'est assez difficile de savoir ce recompiler manuellement dont je ne suis pas vraiment intéressé à faire, soit.
N'est-ce pas là une façon de faire de l'Ide, à le faire sur son propre?
- Pourquoi ne pas vous suffit d'appuyer sur
Ctrl
+F9
? Qui va construire l'ensemble du projet et si seulement deux fichiers a changé alors ceux-ci seront reconstruire. - J'avais peur tout reconstruire. Je crois que par défaut est clair sortie à la reconstruction ... donc, normalement, cela ne marche pas à la bonne...
- Il n' pas nettoyer avant de construire. C'est un différentiel de construire. Vous avez un autre choix pour reconstruire si vous le souhaitez.
- Check this out : stackoverflow.com/questions/19596779/...
Vous devez vous connecter pour publier un commentaire.
Mis à JOUR
Pour IntelliJ IDEA 12+ communiqués de nous peut construire automatiquement le fichier sources si nous utilisons le compilateur externe en option. La seule chose nécessaire est de cocher l'option "de construction du projet automatiquement", situé dans "Compilateur" paramètres:
Aussi, si vous souhaitez de déploiement à chaud, tandis que l'application est en cours d'exécution ou si vous utilisez le printemps de démarrage devtools vous devez activer le
compiler.automake.allow.when.app.running
de registre aussi. Cela permettra de compiler automatiquement vos modifications.À l'aide de Ctrl+Maj+Un (ou ⌘+Maj+Un sur Mac) type
Registry
une fois que le registre de windows est ouvert, recherchez et permettrecompiler.automake.allow.when.app.running
, voir ici:Pour les versions antérieures à la version 12, vous pouvez utiliser le EclipseMode plugin pour faire IDÉE de compiler automatiquement les fichiers enregistrés.
Pour plus de conseils, consultez la "La migration à Partir d'Eclipse pour IntelliJ IDEA" guide.
compiler.automake.allow.when.app.running
?, voir ma réponse mis à jour.Veuillez suivre les deux étapes suivantes:
1 - Activer Automake du compilateur
make project automatically
Make Project automatically
fonction2 - Activer Automake lorsque l'application est en cours d'exécution
Registry
compiler.automake.allow.when.app.running
et activer ou cliquez sur la case à cocher côtéRemarque: Redémarrez votre candidature maintenant 🙂
Remarque: Cela devrait également permettre de vivre recharger avec spring boot devtools.
AVERTISSEMENT
Eclipse Mode plug-in est obsolète et n'est pas compatible avec les récentes IDÉE 12+ s'appuie. Si vous l'installez, IDE va s'accrocher à chaque changement de fichier et de répondre très lent.
IntelliJ IDEA n'utilise pas automatique, il détecte les erreurs à la volée, pas par l'intermédiaire de compilateur. Semblable à Eclipse mode sera disponible dans IDÉE 12:
Utilisation
Build
|Make
, il invoque l'augmentation rendre le processus qui permettra de compiler seulement changé et les fichiers dépendants (c'est très rapide).Il y a aussi un Entrée de la FAQ qui peuvent vous aider.
Mise à jour automatique faire:
Lors de l'exécution/débogage de configuration est en cours d'exécution,
Make project automatically
n'a aucun effet. Classes sur le disque va changer uniquement surBuild
|Make
. C'est la conception de base de décision comme, à notre avis, changements de classe sur le disque doit être toujours en vertu de la volonté de son utilisateur. Automatique est de ne pas l'imitation de l'Éclipse, il fonctionne différemment et c'est le but principal est de gagner du temps d'attente pour les classes pour être prêt quand ils sont vraiment nécessaires (avant l'exécution de l'application ou de tests). Automatique à faire de ne pas remplacer de manière explicite de la compilation que vous avez encore besoin de déclencheur, comme dans le cas décrit dans cette question. Si vous êtes à la recherche pour les différents comportements, EclipseMode plug-in lié dans la FAQ ci-dessus serait un meilleur choix.Build
|Build Artifacts
ou activer une option dans l'artefact construire surMake
.Update on the automatic make feature
.Build
|Make
comme indiqué ci-dessous, vous obtiendrez le même comportement que dans Eclipse, il vous permettra d'économiser et mettre à jour les modifications.Save All
etBuild
|Make Project
(j'ai aussi essayé de cartographie àBuild
|Compile
). SeulementSave All
semble être exécutée. Je suppose que cela fonctionnerait Si j'ai supprimé le raccourci pourSave All
mais je n'ai pas vraiment envie de le faire.Vous pouvez keymap
ctrl+s
pour enregistrer ET compiler en une seule étape. Aller à la keymap paramètres et de recherche pourCompile
.J'ai fini par enregistrer un Macro pour enregistrer et compiler en une seule étape, et keymap
Ctrl+s
à elle.Il est en fait pas de différence que les deux nécessitent 1 cliquez sur:
Solution la plus simple est juste pour s'habituer à elle. Parce que quand vous passez la plupart de votre journée dans votre IDE, alors mieux vaut en avoir vite des habitudes dans l'un de lent habitudes dans plusieurs d'entre eux.
J'ai réussi à résoudre ce à l'aide de macros.
J'ai commencé l'enregistrement d'une macro:
Nom il quelque chose d'utile comme, "SaveAndMake".
Maintenant, il suffit de retirer le Sauver tous les raccourci clavier, et ajouter le même raccourci clavier à votre macro!
Alors maintenant, chaque fois que je sauvegarde, elle enregistre et fait un sale compiler, et jRebel maintenant détecte toutes les modifications correctement.
Veuillez suivre attentivement ces étapes pour l'activer.
1) créer le Printemps de Démarrage du projet avec le SB V1.3 et d'ajouter "Devtools" (1*) pour les dépendances
2) appeler l'Aide->Trouver de l'Action... et de type "Registre", dans la boîte de dialogue de recherche pour "automake" et activer l'entrée "compilateur.automake.le permettent.lors de l'.app.l'exécution de", fermez la boîte de dialogue
3) de permettre à fond de compilation dans Settings->Construire, l'Exécution, le Déploiement->Compilateur "projet automatiquement"
4) ouvrez le Printemps de Démarrage exécuter config, vous devriez obtenir un message d'avertissement si tout est correctement configuré
5) lancez votre application, de modifier vos classes à la volée
Merci de rapporter vos expériences et des problèmes que les commentaires à cette question.
cliquez ici pour plus d'info
La seule chose qui a fonctionné pour moi dans mon projet maven qui a été touchée par ce est pour ajouter un "test-compile" objectif de la configuration d'exécution de mes tests unitaires. Incroyablement maladroit solution, mais il fonctionne.
Intellij échoue tranquillement lorsqu'il rencontre compiler problème dans un autre module, puis de construction automatique n'est pas effectuée. Afin de vérifier votre
Problems
fenêtreUtiliser le Reformater et de Compiler le plugin (inspiré par le Enregistrer plugin Actions d'Alexandre DuBreuil):
https://plugins.jetbrains.com/plugin/8231?pr=idea_ce
Pour le moment je suis seulement en offrant un fichier jar, mais c'est la partie la plus importante du code:
Il n'a pas de travail pour moi en raison d'avoir un inutile module dans mon projet de la structure. Les tests ont été exécutés à l'aide de l'autre module, je suppose.
Je ne sais pas comment il a fini comme ça, mais la suppression il a résolu le problème.
Assurez-vous que votre Run/Debug paramètres à l'aide du module que vous souhaitez bâtiment avec l'enregistrement automatique.
E. g. : voir le module dans
Vous pouvez modifier les modules dans la Structure de Projet - Modules
J'ai été prise en erreur: certains pots ne sont pas dans le classpath.Je viens donc de supprimer le corrompu bocal et perrform les étapes ci-dessous
Modifier votre Run/Debug Configuration de sorte que Construire option est sélectionnée avant de lancer
Après la construction de l'option est sélectionnée
La solution ci-dessus a travaillé pour moi pendant le travail sur mon JBehave suite de tests
J'ai eu le même problème.
J'ai été en utilisant le "mode d'économie d'Énergie", ce qui l'empêche de compiler de façon progressive et en montrant les erreurs de compilation.
Pas assez de points pour le commentaire sur les résultats d'une réponse, mais à l'instar de certaines personnes ci-dessus, je me suis retrouvé juste l'ajout d'une macro & clavier à Organiser des Importations /Format /Égouttage /FastReload(F9) /Synchroniser.
Le synchroniser est ajouté comme cela semble être la seule façon que je peux aussi voir les mises à jour en ressources modifié par l'extérieur de construire des outils /watchers (c'est à dire, webpack).
Le processus est plus lent que eclipse et pour le fichier externe d'actualisation ont souvent pour exécuter la commande plusieurs fois, mais supposons que je peux vivre avec elle.