2011-06-08 8 views
4

J'ai un espace de travail Eclipse qui est archivé dans un référentiel Subversion. Toutefois, si je change le nom du répertoire d'espace de travail, les fichiers du projet ne se chargent pas et je dois les réimporter, ainsi que définir de nouveau les paramètres liés à l'espace de travail. Est-ce que Eclipse fonctionne avec des chemins relatifs? Je ne suis pas le seul membre de l'équipe sur ce projet, et malheureusement l'autre personne refuse de suivre un schéma d'organisation d'annuaire commun.Chemin d'accès relatif dans Eclipse

EDITCe sont tous les projets java à ce point

EDIT Il y a plusieurs fichiers dans le dossier espace de travail matadata, mais voici le premier que je trouve en relation avec le projet

<workspace root>\.metadata\plugins\org.eclipse.core.resources\.projects\ProjectName\.location 

C'est dans ce fichier ".location" qu'il y a une URL basée sur un fichier. J'ai fait quelques recherches après le crash d'Eclipse quand j'ai essayé d'utiliser un chemin relatif et que je suis arrivé à la conclusion que les chemins relatifs ne sont pas possibles avec les URL.

EDIT Voici le .classpath et le contenu .project

.classpath

<?xml version="1.0" encoding="UTF-8"?> 
<classpath> 
    <classpathentry kind="src" path="src"/> 
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> 
    <classpathentry kind="output" path="bin"/> 
</classpath> 

.project

<?xml version="1.0" encoding="UTF-8"?> 
<projectDescription> 
    <name>SimpleHelloWorld</name> 
    <comment></comment> 
    <projects> 
    </projects> 
    <buildSpec> 
     <buildCommand> 
      <name>org.eclipse.jdt.core.javabuilder</name> 
      <arguments> 
      </arguments> 
     </buildCommand> 
    </buildSpec> 
    <natures> 
     <nature>org.eclipse.jdt.core.javanature</nature> 
    </natures> 
</projectDescription> 

Aux fins de configuration et de test, je ont essayé de faire ce w ork seulement avec notre simple Hello World! échantillon.

+0

"Je ne suis pas le seul membre de l'équipe sur ce projet, et malheureusement, l'autre personne refuse de suivre un schéma d'organisation d'annuaire commun". On dirait qu'il n'y a que deux d'entre vous - et deux options: 1) demandez au patron d'imposer une structure 2) changez la vôtre pour suivre la voie de l'autre – Mawg

+0

Le but final était d'avoir une installation complètement portable, fondamentalement juste "checkout and go ". Nous avons fini par ne gérer que les projets et documenter la configuration de l'espace de travail pour la configuration initiale. C'était il y a des années donc les détails sont un peu flous. –

Répondre

3

L'espace de travail n'a jamais vraiment été conçu pour être contrôlé par la source. Peut-être que j'ai mal compris votre configuration mais si vous essayez de valider le dossier .metadata de votre espace de travail dans le contrôle de la source, vous vous dirigez vers un tas de problèmes! Au lieu de placer votre espace de travail dans le contrôle de la source, vous ne devez placer que le projet lui-même. Puis, à travers Subversive ou d'autres plugins Subversion, obtenez le projet du SCM. Cela aura éclipse créer automatiquement toutes les ressources et configurations pour vos projets pour vous et ils devraient compiler dès la sortie de la boîte à condition que vous avez toutes les dépendances. Pourquoi avez-vous ressenti le besoin d'avoir tout le dossier de métadonnées dans le contrôle de la source pour commencer?

Si vous cherchez un moyen simple de gérer la construction, alors je vous suggère de regarder dans Ant, Maven ou d'autres outils pour vous aider. Si vous voulez conserver vos paramètres, la plupart d'entre eux ont une fonctionnalité d'exportation, je vous suggère d'avoir un projet spécial pour stocker ces paramètres et les placer sous contrôle de source, pas idéal car non automatisé mais une fois installé ils ne devraient pas changer tous si souvent. Normalement, je filtre même le dossier .settings et .classpath de mes projets avant de les pousser vers SCM et laisser eclipse et le plugin maven les régénérer pour moi si nécessaire.Jusqu'à présent, je n'ai jamais vraiment eu de mal à récupérer mes affaires chez SCM. La mise en place d'une nouvelle version est un peu plus longue mais avec une installation Eclipse de référence avec tous les plugins, l'importation des configs et des projets est très rapide.

+0

Je suis d'accord avec @Newtopian, et je n'avais pas remarqué que vous étiez en train de mettre votre espace de travail dans votre vcs. – Marcelo

+0

Je suppose que c'est correct pour notre installation, j'ai toujours traité les espaces de travail dans Eclipse comme on traiterait des solutions dans Visual Studio. Je l'ai fait de cette façon pour d'autres projets dans Eclipse, mais moi et mes partenaires de projet ont toujours été capables de garder tous nos chemins identiques, donc je n'ai jamais rencontré ce problème. –

3

Eclipse fonctionne normalement avec des chemins relatifs. Dans mon lieu de travail, nous utilisons un dépôt Subversion avec le plugin Subversive. Quand nous faisons une nouvelle importation, nous n'avons aucun problème pour la compilation.

Vous souhaiterez peut-être modifier les fichiers .project et .classpath de votre projet pour voir s'il existe une référence à un emplacement absolu et le modifier pour être relatif.

+0

J'ai trouvé des chemins absolus mais seulement dans les fichiers de l'espace de travail. Et comme il s'agit d'une URL basée sur un fichier (fichier: ///), je ne pense pas que les chemins relatifs soient pris en charge car j'ai tenté cela et cela bloque simplement Eclipse lorsque vous essayez de charger l'espace de travail. –

+0

@MetalSearGolid pouvez-vous inclure votre code .classpath ou .project dans votre question, celle qui comprend l'URL basée sur un fichier. – Marcelo

+0

@MetalSearGolid J'ai également oublié de demander s'il s'agissait de projets Java ou d'autres langues. – Marcelo

0

Il ne semble pas que Eclipse puisse tout faire avec des chemins relatifs. Une chose bon marché que vous pouvez faire est de configurer une Eclipse préconfigurée identique dans le même chemin sur des machines différentes. Dans le futur cloud IDE comme Eclipse Orion peut résoudre ces problèmes ...