Comment puis-je nettoyer _svn dossiers / fichiers de « src / main / webapp » dossier lorsque maven2 construit projet webapp dans NetBeans 6.7?

StackOverflow https://stackoverflow.com/questions/1670658

Question

J'ai créé un webapp utilisant archétype maven2 dans NetBeans 6.7.

quand je fais construire plaine (enlever toute la configuration du plug-in), il copie tous les fichiers requis, y compris les dossiers « de _svn ». Mais je ne veux pas que ces fichiers, comment à partir du fichier * .war puis-je nettoyer _svn dossiers / fichiers et à partir du dossier cible éclatée qui contient le dossier « src / main / webapp » contenu de?

 T E S T S
-------------------------------------------------------
Running com.project.project.taglib.SSTest
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.016 sec

Results :

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0

[war:war]
Packaging webapp
Assembling webapp[project-servlets] in
[C:\ROOT\1utils\project\project-servlets\trunk\target\project-servlets]
Processing war project
Copying webapp resources[C:\ROOT\1utils\project\project-servlets\trunk\src\main\webapp]
Webapp assembled in[735 msecs]
Building war: C:\ROOT\1utils\project\project-servlets\trunk\target\project-servlets.war
[install:install]
Installing C:\ROOT\1utils\project\project-servlets\trunk\target\project-servlets.war
to C:\LOCALREPO\.m2\com\project\project-servlets\1.0.0\project-servlets-1.0.0.war

J'ai réussi à utiliser le filtrage des ressources en pom.xml pour filtrer les fichiers _svn, tout ce qui fonctionne parfaitement si je crée un fichier jar. Mais avec la guerre, après la phase d'essai, il copie le « src / main / webapp » contenu du dossier ([guerre: guerre]), je ne peux pas sembler trouver un moyen de localiser les config / commande fait cela? est ce NetBeans? il est l'un des plug-ins que je utilise? Voici la section de construction de mon pom.xml, l'aide sera très appréciée !!

<project>
.. ...
<build>
<resources>
<resource>
    <directory>src/main/resources</directory>
    <filtering>true</filtering>
    <excludes>
        <exclude>_svn/**/*</exclude>
    </excludes>
</resource>
</resources>
<testResources>
<testResource>
    <directory>src/test/resources</directory>
    <filtering>true</filtering>
    <excludes>
        <exclude>_svn/**/*</exclude>
    </excludes>
</testResource>
</testResources>
<plugins>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.4</version>
<executions>
    <execution>
        <id>copy-resources</id>
        <phase>validate</phase>
        <goals>
            <goal>copy-resources</goal>
        </goals>
        <configuration>
        <outputDirectory>${basedir}/target/project-servlets/WEB-INF</outputDirectory>
        <resources>
            <resource>
                <directory>${basedir}/src/main/resources</directory>
                <filtering>true</filtering>
                <excludes>
                    <exclude>_svn/**/*</exclude>
                </excludes>
            </resource>
        </resources>
        </configuration>
    </execution>
</executions>
</plugin>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.0.2</version>
    <configuration>
        <verbose>true</verbose>
        <source>1.5</source>
        <target>1.5</target>
    </configuration>
</plugin>
</plugins>
<finalName>project-servlets</finalName>
</build>
..
..
</project>

@Pascal Thivent - merci beaucoup pour la réponse. J'ai ajouté configuration « -plugin maven-guerre » et il a commencé à faire l'emballage deux fois !!

[war:war] Packaging webapp 
Assembling webapp[project-servlets] in [C:\ROOT\1utils\frg\project-servlets\trunk\target\project-servlets] 
Processing war project 
Copying webapp resources[C:\ROOT\1utils\frg\project-servlets\trunk\src\main\webapp] 
Webapp assembled in[391 msecs] 
Building war: C:\ROOT\1utils\frg\project-servlets\trunk\target\project-servlets.war [war:war] 
Packaging webapp 
Assembling webapp[project-servlets] in [C:\ROOT\1utils\frg\project-servlets\trunk\target\project-servlets] 
Dependency[Dependency {groupId=log4j, artifactId=log4j, version=1.2.8, type=jar}] has changed (was Dependency {groupId=log4j, artifactId=log4j, version=1.2.8, type=jar}). 
Dependency[Dependency {groupId=com.frg, artifactId=project, version=1.1.7, type=jar}] has changed (was Dependency {groupId=com.frg, artifactId=project, version=1.1.7, type=jar}). 
Dependency[Dependency {groupId=com.frg, artifactId=commons, version=1.0.3, type=jar}] has changed (was Dependency {groupId=com.frg, artifactId=commons, version=1.0.3, type=jar}). 
Dependency[Dependency {groupId=net.sourceforge.jtds, artifactId=jtds, version=1.2.2, type=jar}] has changed (was Dependency {groupId=net.sourceforge.jtds, artifactId=jtds, version=1.2.2, type=jar}). 
Processing war project

Le fichier pom a maintenant la configuration suivante ..

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<executions>
    <execution>
        <id>war</id>
        <phase>package</phase>
        <goals><goal>war</goal></goals>
        <configuration>
          <webResources>
            <resource>
            <directory>src/main/webapp</directory>
             <excludes>
              <exclude>_svn/**/*</exclude>
              <exclude>**/_svn/**</exclude>
             </excludes>
            </resource>
          </webResources>
        </configuration>
    </execution>
</executions>
</plugin>

Et je vois encore les dossiers _ svn dans les fichiers de guerre !! Cependant, après avoir changé les dossiers _ svn à .svn dossiers, je ne l'ai pas besoin même aucun filtrage des ressources !! Il ignore automatiquement les dossiers « .svn ». Je pense qu'il devrait y avoir un endroit pour régler les paramètres de la préférence de « .svn » à « _svn ». Quoi qu'il en soit, cela ne résout mon problème initial, mais introduit un problème d'incompatibilité avec mes arrière anciens projets versionnés .NET ..:)

Était-ce utile?

La solution

(EDIT:. Ma réponse initiale proposait d'utiliser du excludes dans webResources ce qui est inexact je fournir ci-dessous une configuration mise à jour du maven-guerre-plugin qui exclut vraiment _svn comme demandé par l'OP. Cela a été testé et fonctionne.)

...
<plugins>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <configuration>
      <warSourceExcludes>
        **/_svn/**
      </warSourceExcludes>
    </configuration>
  </plugin>
  ...
</plugins>

Mais, Je vous suggère vivement de configurer votre client de tortue utiliser .svn au lieu de _svn . Je ne trouve pas la référence, mais je crois que maven utilise quelque chose d'équivalent à <exclude>**/.svn</exclude> interne. Je doute au sujet de la déclaration précédente. Cependant, le fait est que l'utilisation .svn vous permet d'éviter toute configuration supplémentaire et rend donc les choses beaucoup plus simple.

Autres conseils

Ce m'a été utile, avec une correction:
la balise est <packagingExcludes> (Dans la version 2.1 alpha-1, cela a été mal nommé warSourceExcludes.)

source: http: //maven.apache. org / plugins / maven-war-plugin / examples / maigre-wars.html

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top