12
votes

Quand Eclipse Copie-t-elle des ressources vers le dossier de sortie?

J'ai remarqué que "parfois" les ressources que je mets dans un dossier source dans mon projet Eclipse ne sera pas copiée dans le dossier de sortie ("bin") immédiatement.
Par exemple. Je modifie un fichier de propriétés à l'aide de l'éditeur Eclipse et de sauvegarder ... et "bin" a toujours l'ancienne version.

Est-ce que quelqu'un sait-il ce qui déclenche exactement la copie (et comment je peux le déclencher d'un plugin)? Je pensais que c'était arrivé automatiquement lorsqu'une ressource change.

- Edit -

Pour clarifier ce que je voulais dire en le déclenchant à partir d'un plugin: j'ai un plugin qui dépend des ressources à jour dans le dossier de sortie, mais apparemment, les ressources sont obsolètes lorsque mon plugin est appelé. Et c'est pourquoi j'ai besoin de mieux comprendre ce qui se passe et comment je peux le forcer lorsque je dois.


0 commentaires

5 Réponses :


0
votes

Autant que je sache, cela se produit lorsque vous construisez le projet. Vous n'avez pas besoin d'un plug-in, il vous suffit de dire à Eclipse de faire une construction du projet.


2 commentaires

Vous devez avoir «Construire automatiquement» à cocher dans le menu du projet pour le faire seul. Si vous le faites, et cela ne le fait toujours pas, vous devrez peut-être ajouter le dossier contenant le fichier au chemin de construction. Le fait que vous ayez indiqué que le dossier de sortie contient la "vieille" version suggère que c'est sur le chemin de construction et y a été copié à un moment donné. Mais si vous venez de l'ajouter, et il n'y a pas de «vieille» que vous devrez peut-être rafraîchir le projet de voir si elle a également été déplacée dans le dossier de sortie.


Ce n'est pas ça. Le dossier de sortie est mis à jour occasionnellement. par exemple. quand je fais un propre ou lorsque l'espace de travail est lancé. Le fichier a été au même endroit, a été modifié avec Eclipse et mes sources Java dans le même projet sont construites et copiées automatiquement.



10
votes

Si vous n'ajoutez pas la ressource via Eclipse (mais par exemple via l'Explorateur Windows), Eclipse ne remarquera pas quelques modifications jusqu'à ce que vous actualisiez votre projet / dossier. (clic droit dans l'explorateur d'emballage par exemple).

Après cela notite le changement, il le copiera dans le dossier de sortie lorsque vous construisez (souvent cela se fait automatiquement sur les modifications)


5 commentaires

C'est la partie "souvent" qui me dérange, car cela ne se produit pas pendant la phase de construction de mon environnement de test


Si vous construisez un plug-in Eclipse, vous pouvez faire une actualisation du plug-in. Jetez un coup d'œil à l'interface IProject.


@Stroboskop: pour Java Projette son paramètre dans le menu de construction, qui est sur défaut. Pour d'autres projets, cela dépend du type de projet et du plugin.


Mais une "rafraîchir" ne se synchronisera-t-elle que sur le système de fichiers et ne pas copier les ressources de la source vers un dossier de sortie?


Je suppose que son officiellement dans la construction automatique qui se produit après qu'ils sont copiés, mais l'effet est identique, les dossiers sont mis à jour.



2
votes

Ceci est un bogue dans presque toutes les versions Eclipse, cela se produit sans aucune raison. Mon éclipse 3.5.2 et 3.6.2 répondent à ce problème dans un jour. Dans mon cas, j'ai besoin de copier des fichiers source de clojure modifiés dans le répertoire de classes pour une efficacité immédiate dans une application Web, je dois désormais définir / src avant / classes dans CLASSPATH du script de démarrage Web Appserver Server, il est résolu mon problème temporairement. < / p>


1 commentaires

Puisque personne ne peut l'expliquer, je le déposerai comme "bug". Serait bien si si nous pouvions trouver un rapport de bogue Eclipse officiel.



1
votes

Comme @TTirlerler a dit, si vous n'ajoutez pas la ressource via Eclipse, cela peut ne pas remarquer les fichiers avant de vous rafraîchir votre projet. Cependant, si le rafraîchissement / propre ne fonctionne pas (dans mon cas, il n'a pas), vous devez ajouter les fichiers à la structure du dossier dans Eclipse.

Il suffit de faire glisser le fichier dans le dossier dans lequel il se trouve dans le système de fichiers à l'aide de Finder / Windows Explorer, déposez-le dans le même dossier de l'explorateur de projet Eclipse (Eclipse demandera une écrasement, dites simplement oui) et le voile!

EDIT: Un moyen plus facile de naviguer dans le dossier à l'aide de Project Explorer, puis de rafraîchir (F5).


0 commentaires

0
votes

Il y a un paramètre Eclipse Java> Compiler> Bâtiment> Dossier de sortie> Ressources filtrées .

 Entrez la description de l'image ici

Pour des raisons inconnues, ceci a été défini sur *. Lancement, *. TestSuite, *. Déployer, *. Emplacement, *. EXECUTION, *. Artefact, *. HTML, *. SVG <. / Code> Dans mon espace de travail (pendant que la valeur par défaut semble être juste *. Lancement ). C'était la raison, pourquoi mon éclipse a constamment refusé de copier une ressource de classe de classe index.html .

réponse tardive, mais je suis tombé sur cette question, mais les réponses ne me sont pas aidées à convaincre Eclipse de faire son travail.


0 commentaires