Come posso pulire _svn cartelle / file dalla cartella 'src / main / webapp' quando maven2 costruisce progetto webapp in NetBeans 6.7?

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

Domanda

Ho creato una webapp utilizzando maven2 archetipo in NetBeans 6.7.

quando faccio costruire pianura (eliminando tutti i configurazione del plugin), copia tutti i file necessari, tra cui le cartelle '_svn. Ma io non voglio quei file, come posso pulire _svn cartelle / file dal file * .war e dalla cartella di destinazione esplosa che contiene il contenuto 'src / main / webapp' della cartella?

 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

Sono riuscito a utilizzare il filtraggio delle risorse in pom.xml per filtrare i file _svn, tutti che funziona perfettamente se io sono la creazione di un file jar. Ma con la guerra, dopo la prova di fase esso copia il contenuto della cartella 'src / main / webapp' ([guerra: la guerra]), non posso sembrare trovare un modo per individuare quali config / comando fa questo? è questo NetBeans? è uno qualsiasi dei plug-in sto usando? Ecco la sezione build di mia pom.xml, l'aiuto sarà molto apprezzato !!

<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 - grazie mille per la risposta. Ho aggiunto la configurazione 'Maven-guerra-plugin' e ha cominciato a fare la confezione due volte !!

[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

Il file pom ora ha seguente configurazione ..

<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>

E io continuo a vedere le _ svn cartelle nei file di guerra !! Tuttavia, dopo aver cambiato le cartelle _ SVN per .svn cartelle, non ho nemmeno bisogno di alcun filtraggio risorsa !! Si ignora automaticamente le cartelle '.svn'. Vorrei che ci dovrebbe essere un impostazioni da qualche parte per impostare la preferenza da 'svn' a '_svn'. In ogni caso, questo non risolvere il mio problema iniziale, ma introduce un problema di incompatibilità a ritroso con i miei vecchi progetti di versione .NET ..:)

È stato utile?

Soluzione

(EDIT:. La mia risposta iniziale è stato suggerendo di utilizzare excludes in webResources che non è corretto che sto fornendo di seguito una configurazione aggiornata del maven-guerra-plugin che esclude davvero _svn come richiesto dal OP. Questo è stato testato e funziona.)

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

Ma, Mi piacerebbe calorosamente suggerisco di configurare il client di tartaruga per usare .svn invece di _svn . Non riesco a trovare il riferimento, ma credo che Maven utilizza qualcosa di equivalente a <exclude>**/.svn</exclude> internamente. Ho un dubbio circa la dichiarazione precedente. Tuttavia, il fatto è che l'utilizzo .svn consente di evitare qualsiasi configurazione in più e quindi rende le cose molto più semplice.

Altri suggerimenti

Questo è stato utile per me, con una correzione:
il tag viene <packagingExcludes> (Nella versione 2.1-alfa-1, questo è stato erroneamente chiamato warSourceExcludes.)

fonte: http: //maven.apache. org / plugins / Maven-guerra-plugin / examples / skinny-wars.html

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top