J'ai créé une classe (et même un paquet complet) qui est utilisée dans plusieurs projets Java.
Exemple : La méthode abracadabra dans la classe Utilitaire :
J'ai sauvé cette classe sur mon disque sur dans :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 package utilitaire; public class Utilitaire { public void abracadabra() {...} }
c:\java\commun\Utilitaire.class
Avec Eclipse, je peux utiliser cette classe dans un nouveau projet.
Pour cela, il faut que j'ouvre le dossier contenant le fichier "Utilitaire.class" dans l'explorateur de fichier Windows. Ensuite je glisse le fichier dans le projet d'Eclipse. Eclipse me demande si je veux copier ou lier le fichier, je réponds lier. De cette manière mon fichier reste dans c:\java\commun\Utilitaire.class et quand je le modifie ici, la modification est répercutée sur touts les projets qui utilisent cette classe en fichier lié.
Avec InteliJ, il n'existe pas cette option. (Du moins je ne l'ai pas trouvé). Pour cette raison, j'utilise Eclipse.
Mon problème c'est que quand je pousse sur git, mon projet c:\java\eclipse-workspace\projet.
Sur git, le fichier lié n'est pas poussé.
Si je veux alors pousser le projet sur git, il faut que je supprime le lien vers la classe Utilitaire dans mon projet, puis que je copie le fichier, cette fois en copie et pas en lien. Alors la classe est incluse dans le projet et peut être poussée sur Git.
J'ai donc plusieurs questions :
1) Est-ce qu'il est possible de lier des dossiers externes à un projet avec InteliJ (comme avec Eclipse) ?
2) Comment pousser le projet complet sur Git en y incluant les fichiers liés ?
3) Est-ce qu'il existe une autre façon de faire simple ?
4) Est-ce qu'il existe une autre façon de faire plus compliquée (comme compiler un jar pour la classe utilitaire qui sera repris dans les projets par maeven ou en ajoutant une bibliothèque externe ?)
5) Est-ce qu'avec linux je m'en sortirai mieux en utilisant les lien linux?
J'espère avoir été assez clair, Merci pour vos idées si vous avez déjà rencontré ce problème.
Partager