2010-12-03 23 views
7

Nous avons un très gros projet. Nous utilisons une fourmi pour définir l'environnement. Une des choses qui se passe pendant le script ant est qu'un fichier jar est copié dans le dossier lib d'un projet. Ensuite, nous utilisons des tâches ant: eclipse.refreshLocal et eclipse.incrementalBuild pour que le fichier jar maintenant copié résoudra les problèmes de compilation dans le projet qui s'y réfèrent. Malheureusement, les projets ne semblent pas synchronisés avec le système de fichiers. Project> properties> build path montre que le jar est présent (probablement des informations qui sont actualisées en regardant la propriété propertiesw) mais l'incrementalBuild n'a pas fait ce que nous attendions de lui. De plus, parfois un projet qui dépend de ce pot et que nous avons rafraîchi et construit (par ant) ​​a une seule erreur de compilation: "Le projet ne peut pas être résolu tant que les erreurs de chemin de génération ne sont pas résolues". Dans d'autres cas, il existe de nombreuses erreurs de compilation indiquant que le projet n'a pas remarqué le nouveau pot. Quand je le construis par éclipse, c'est OK. Je craignais qu'il y ait peut-être des dépendances circulaires entre les projets, mais il semble que ces dépendances ne soient pas présentes (Build properties: l'option de dépendances circulaires est définie sur "Error", et il n'y a pas d'erreurs de cette forme dans le projets).Eclipse non synchronisé avec les modifications apportées au système de fichiers par la construction de ant.xml

Quelqu'un est-il familier avec le problème? Quelle est la bonne façon de traiter ce problème?

Nous vous remercions de votre aide.

Répondre

0

Essayez Nettoyage de l'espace de travail entier et rafraîchir :)

0

Une solution qui pourrait fonctionner pour vous est de modifier la configuration de lancement Eclipse pour la Ant build (Run -> External Tools -> External Tools Config), et configurer explicitement pour rafraîchir l'espace de travail (ou parties de lui) quand la construction de fourmi a fini. Cela supprime le besoin d'effectuer l'actualisation à partir du script Ant lui-même, et déclenche toujours la bonne réaction de construction lorsque le script se termine.

+0

Merci pour les réponses. En ce qui concerne la solution pour changer la configuration des fourmis à rafraîchir - c'est problématique car notre fourmi est longue. La copie de jar que j'ai décrite n'est qu'une des premières étapes mais dans les parties suivantes, nous nous basons sur la supposition que le projet est construit (compilé). Alors, y a-t-il un moyen de rafraîchir après une tâche spécifique? Merci beaucoup. – ComputeALot

0

Eclipse ne l'aime généralement pas beaucoup si vous changez des fichiers dans son espace de travail de l'extérieur. Il y a une option dans les Préférences Eclipse pour synchroniser automatiquement avec le système de fichiers, mais cela peut être très intense en ce qui concerne les E/S.

Et il ne sera probablement toujours pas résoudre tous vos problèmes, esp. lorsque vous modifiez les fichiers de bibliothèque.

Même en tenant compte de la suggestion de skaffman avec le rafraîchissement à la fin de la construction, je ne suis pas sûr que cela améliore vraiment votre situation, mais essayez-le. D'après mon expérience, de façon réaliste, je n'aurais pas encore trouvé de solution dans une grande configuration qui fonctionne vraiment et qui facilite la vie au lieu de simplement créer un ensemble différent de problèmes.

10

Si vous faites un clic droit sur le build.xml et sélectionnez Exécuter en tant → Ant ... Construire vous verrez un onglet Actualiser. Il suffit de cocher l'option Actualiser les ressources à la fin.

(Je l'utilise moi-même lorsque je génère du code dans une cible ANT xslt et cela fonctionne comme un charme.)

enter image description here

Vous pouvez également consulter Actualiser automatiquement sous Fenêtre → Préférences → Espace de travail