web-dev-qa-db-fra.com

Comment référencer un autre projet Java dans Eclipse

J'ai Project1 et Project2. Project1 dépend de Project2. Je suis un peu fatigué que chaque fois que je fais des changements de code dans Project2, je dois exporter le fichier JAR Project2 et le copier dans le dossier lib de Project1.

Existe-t-il un moyen de réaliser cela automatiquement? Ou, existe-t-il un autre moyen de faire savoir à Project1 que Project2 a eu quelques changements?

Dans Build Path du projet, il existe un moyen de spécifier des références à d'autres projets dans Workspace, mais cela ne semble rien faire? Que fait-il réellement?

Je lisais quelque part que je peux utiliser les propriétés de déploiement pour automatiser ce processus, mais je ne le trouve pas.

MISE À JOUR: Euh, je suis développeur C # et j'ai une certaine expérience en Java (principalement Android)), je pourrais demander stupide des questions, donc s'il vous plaît supporter avec moi ...

Project1 est standard Java Project (exécuté sur la machine du client, utilise swing, etc.). Project2 est Dynamic Web Project (pour une raison inconnue pour moi). La seule chose qu'il fait est d'appeler webservice ( troisième projet dont je n'ai pas besoin de m'inquiéter) et en transmettant le résultat à Project1. Project2 contient ces fichiers Axis2 webserviceStub.Java ... à Project1. Project2, même s'il s'agit de Web Project, c'est en fait du code qui s'exécute sur le client.

Un simple référencement de projet dans Build Path ne fonctionne pas pour moi.

Merci

29
bobetko

Cliquez avec le bouton droit sur Project1 , puis cliquez sur Propriétés. Dans la boîte de dialogue qui s'affiche, sélectionnez Java Build Path, puis cliquez sur l'onglet Projects. Là, ajoutez Project2 au chemin de génération.

Si Project1 est une application Web, vous devez vous assurer que votre Assemblage de déploiement (identique Propriétés UI) a également Project2 .

45
kozyr

Dans Eclipse, lorsqu'un projet Java Java est construit, chaque fichier .Java Des dossiers source est compilé et le fichier .class Est enregistré dans un dossier de sortie. Le fichier non -Les fichiers Java du dossier source sont copiés tels quels dans la hiérarchie de dossiers correspondante dans le dossier de sortie.

Lors de l'ajout de "projets référencés" dans un espace de travail dans Eclipse via Chemin de génération Java , c'est-à-dire en ajoutant Project2 À Chemin de génération de Project1, Ce que vous faites en réalité, c'est de dire au générateur de projet d'utiliser le dossier de sortie de Project2 Lors de la construction de Project1 (REMARQUE: non seulement le dossier de sortie, mais aussi des bibliothèques exportées).

Donc, si la réponse de kozyr ne fonctionne pas pour vous, vérifiez la configuration du "dossier de sortie" de Project2.

6
jalopaba