48 votes

Existe-t-il un moyen de masquer le dossier "target/" de Maven 2 dans Eclipse 3 ?

J'utilise maven 2.0.9 avec Eclipse 3.3.2.

J'ai l'habitude de lancer une nouvelle construction une fois par jour par un système d'alerte. mvn clean install . Ensuite, si je rafraîchis mon projet Eclipse, il sera "pollué" par des fichiers provenant de l'application Maven. cible répertoire.

C'est très ennuyeux lorsqu'on effectue des recherches, qu'on obtient des ressources par "ressource ouverte", etc.

Existe-t-il un moyen d'éviter qu'Eclipse ne cherche dans ce dossier ?

58voto

Faites un clic droit sur le dossier que vous voulez ignorer, ouvrez la boîte de dialogue "Propriétés", choisissez l'onglet "Ressources" et cochez la case "Dérivé".

25voto

Marx Points 202

Reconfigurer "clean" dans Maven pour ne pas supprimer le répertoire cible :

<plugin>
    <artifactId>maven-clean-plugin</artifactId>
    <configuration>
        <excludeDefaultDirectories>true</excludeDefaultDirectories>
        <filesets>
            <!-- delete directories that will be generated when you 
                 start the develpment server/client in eclipse  
            -->
            <fileset>
                <directory>target</directory>
                <includes>
                    <include>**/*</include>
                </includes>
            </fileset>
        </filesets>
    </configuration>
</plugin>

(trouvé à : http://maven.40175.n5.nabble.com/how-to-NOT-delete-target-dir-td3389739.html#a3413930 )

17voto

Mike R Points 503

Solution pour Indigo [SR2]

Project Explorer > Customize View > Filters > [*] Maven Build Folder

10voto

YA2O Points 61

J'ai été tellement énervé par ce problème que j'ai écrit un plugin pour le résoudre. Vous pouvez obtenir les sources et le jar à partir de :

https://github.com/YA2O/Eclipse_Plugin_Target_Derivator

4voto

Stephen Hart Points 41

Pour résoudre ce problème, voici ce que j'ai fait :

  • Installer Groovy Monkey pour Eclipse
  • Création d'un Bean Shell script "UpdateMavenDerived_Beanshell.gm" pour marquer tout répertoire nommé target comme dérivé.

-----------Cut below here for script--------------

/*
 * Menu: Find System Prints > Beanshell
 * Script-Path: /GroovyMonkeyScripts/monkey/UpdateMavenDerived_Beanshell.gm
 * Kudos: Bjorn Freeman-Benson & Ward Cunningham & James E. Ervin
 * License: EPL 1.0
 * LANG: Beanshell
 * DOM: http://groovy-monkey.sourceforge.net/update/plugins/net.sf.groovyMonkey.dom
 */
out.println("Setting target directories to derived status.");
var projects = workspace.getRoot().getProjects();
for ( var i = 0; i < projects.length; i++) {
    var project = projects[i];
    if (project.isOpen()) {
        out.println("Project: " + project.getName());
        var members = project.members();
        for ( var j = 0; j < members.length; j++) {
            if (members[j].getName().equals("target")) {
                out.println("setting derived status on: "+ members[j].getFullPath());
                members[j].setDerived(true);
            }
        }
    }
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X