Nous avons récemment eu un problème avec un projet Eclipse pour l'un des membres de notre équipe. Tomcat ne déployait pas les JAR de l'application.
Nous avons finalement remarqué que le .classpath
fichier Eclipse n'était pas le même que pour les membres de l'équipe où le projet était OK. Nous avons remplacé le .classpath
fichier par celui d'un projet qui était OK et le déploiement de Tomcat était terminé.
Juste par curiosité et pour savoir ce qu'il faut regarder dans le futur si quelque chose ne va pas, ce qu'il y a à l'intérieur des fichiers .classpath
et .project
. Que puis-je ajouter, qu'est-ce que tout cela signifie?
java
eclipse
configuration-files
eclipse-wtp
éclipse totale
la source
la source
Réponses:
Eclipse est un environnement d'exécution pour les plugins. Pratiquement tout ce que vous voyez dans Eclipse est le résultat de plugins installés sur Eclipse, plutôt qu'Eclipse lui-même.
le
.project
fichier est géré par la plate-forme principale Eclipse et son objectif est de décrire le projet à partir d'une vue Eclipse générique et indépendante du plugin. Quel est le nom du projet? à quels autres projets de l'espace de travail fait-il référence? Quels sont les générateurs utilisés pour construire le projet? (rappelez-vous que le concept de "build" ne concerne pas spécifiquement les projets Java, mais également d'autres types de projets)Le
.classpath
fichier est maintenu par la fonctionnalité JDT d'Eclipse ( fonctionnalité = ensemble de plugins). JDT contient plusieurs fichiers "méta" dans le projet (voir le.settings
répertoire à l'intérieur du projet); le.classpath
fichier n'est que l'un d'entre eux. Plus précisément, le.classpath
fichier contient les informations dont la fonctionnalité JDT a besoin pour compiler correctement le projet: les dossiers source du projet (c'est-à-dire ce qu'il faut compiler); les dossiers de sortie (où pour compiler à ); et les entrées de chemin de classe (comme d'autres projets dans l'espace de travail, des fichiers JAR arbitraires sur le système de fichiers, etc.).La copie aveugle de ces fichiers d'une machine à une autre peut être risquée. Par exemple, si des fichiers JAR arbitraires sont placés sur le chemin de classe (c'est-à-dire des fichiers JAR qui sont situés en dehors de l'espace de travail et sont référencés par un nom de chemin absolu), le
.classpath
fichier est rendu non portable et doit être modifié pour être portable. Il existe certaines meilleures pratiques qui peuvent être suivies pour garantir.classpath
la portabilité des fichiers.la source
git
etMaven
, c'est-à-dire que j'ai (pour simplifier) le dossier «racine» du référentiel (projet) avec un seulsrc
dossier (contient un simple.java
fichier «hello world» ) et le du projetpox.xml
de fichier - donc, si je vous ai bien compris, il n'y a pas besoin (ou peut - être même nécessairement pas besoin) de garder le:.project
,.classpath
et les.settings/
fichiers / dossiers et dans legit
référentiel (IE- les ajouter au.gitignore
fichier par exemple)?m2eclipse
s'en charge pour vous (ou, du moins, c'est ce qu'il est censé faire)..project
ne devrait pas être dans.gitignore
. En ce qui concerne.classpath
- si vous utilisezm2eclipse
et votre espace de travail est configuré pour mettre à jour les projets Maven au démarrage, alors vous devriez être OK avec ajouter.classpath
à.gitignore
mais je l' ai pas testé moi - même..project
et.classpath
de tous et ajouté à.gitignore
. Tout fonctionne bien et je n'ai pas besoin de mettre à jour indéfiniment ces fichiers dans Git trop fréquemment..project
Lorsqu'un projet est créé dans l'espace de travail, un fichier de description de projet est automatiquement généré pour décrire le projet. Le seul but de ce fichier est de rendre le projet auto-descriptif, afin qu'un projet compressé ou publié sur un serveur puisse être correctement recréé dans un autre espace de travail.
.classpath
Classpath spécifie les fichiers source Java et les fichiers de ressources d'un projet pris en compte par le générateur Java et spécifie comment rechercher des types en dehors du projet. Le générateur Java compile les fichiers source Java dans le dossier de sortie et y copie également les ressources.
la source
La référence complète n'est pas disponible pour les fichiers mentionnés, car ils sont extensibles par divers plug-ins.
Fondamentalement, les fichiers .project stockent les paramètres du projet, tels que les paramètres du générateur et de la nature du projet, tandis que les fichiers .classpath définissent le chemin d'accès aux classes à utiliser pendant l'exécution. Les fichiers classpath contiennent les entrées src et target qui correspondent aux dossiers du projet; les entrées con sont utilisées pour décrire une sorte d'entrées "virtuelles", telles que les bibliothèques JVM ou en cas de dépendances de plug-ins eclipse (les dépendances de projet Java normales sont affichées différemment, en utilisant une entrée src spéciale).
la source
Cette documentation éclipse contient des détails sur les annotations dans le
.project
fichier: Le fichier de description du projetIl décrit le
.project
fichier comme:la source