web-dev-qa-db-fra.com

IntelliJ IDE | Fichier perdu ou supprimé .iml

La semaine dernière, je travaillais sur un projet Java EE avec IntelliJ IDE.

Aujourd'hui: au démarrage de mon IntelliJ 2016.1, l'erreur est la suivante:

Erreur de chargement du projet

Impossible de charger le module FirstWebApp

En regardant les détails, il a été dit qu'il ne pouvait pas trouver mon fichier FirstWebApp.iml et ne pouvait donc pas charger mon projet. 

J'ai vérifié la structure de mon projet dans l'explorateur et tout, sauf le fichier iml, s'y trouvait. J'ai aussi regardé la corbeille mais je ne pouvais pas la trouver aussi.

  • Comment un tel fichier peut-il simplement disparaître?

  • Comment puis-je récupérer mon fichier iml si c'est possible? 

  • Que font ces fichiers iml?

Je suis nouveau dans le monde Java. Si plus d'informations sont nécessaires, n'hésitez pas à commenter! :)

20
WetWer

Les fichiers * .iml n'ont rien à voir avec votre code/Java. C'est un fichier caché créé par Intellij sur le dossier racine de votre projet qui contient les informations de votre module. C'est la raison pour laquelle vous ne devriez pas mettre à jour ce type de fichier, car tous les autres développeurs utilisant un IDE différent n'en auront pas besoin.

Si vous avez fermé Intellij, je pense qu'il n'y a pas moyen de récupérer le même fichier, mais par contre, il est assez simple de régénérer un nouveau fichier .iml:

Projet basé sur Gradle

Cliquez sur le bouton Sync Project with Gradle Files (celui-ci  enter image description here ) dans la barre d'outils;

Projet basé sur Maven

Sélectionnez Fichier> Structures de projet> Modules> Ajouter> Module d'importation> (sélectionnez le répertoire de base de vos modules)> OK.

Modifier:

Ma réponse précédente était basée sur IntelliJ 14 et il semble que certaines choses ont changé sur les versions les plus récentes, comme indiqué par hBrent et BeC sur les commentaires.

Utilisation d'Intellij Community 2018.1 pour cette mise à jour:

Projet basé sur Maven

La procédure reste la même, la seule différence que j'ai vue est que l'icône Ajouter n'est plus verte. On peut également essayer de supprimer le rootFolder/.idea/modules.xml et d’ajouter les modules par la suite pour réinitialiser toutes les informations concernant les configurations précédentes.

Projet basé sur Gradle

Devrait utiliser "Actualiser tous les projets Gradle" dans la fenêtre de l'outil Gradle (Affichage> Fenêtres d'outils> Gradier), représenté par l'icône d'actualisation standard.

31
dambros

Si vous ne pouvez pas le récupérer de la manière la plus votée, vous pouvez simplement copier un autre fichier .iml, le coller dans le package * nécessitant un fichier .iml et renommer le fichier .iml en tant que nom du package. Cela devrait fonctionner s'il s'agit du même type (dans mon cas, UTF-8). 

* Copiez le fichier .iml en accédant aux fichiers de package, en cliquant avec le bouton droit de la souris sur le nom du package et en appuyant sur coller. 

Vous pouvez accomplir cela dans la barre de tâches de gauche. J'ai préparé une démonstration vidéo (il n'y a pas de son).

1
SassyLlama Boi