Why does maven copy subversion directories to target
It does not happen all the time but sometimes I find stuff like this :
>dir /SF target\.svn
…\target\Zeiterfassung-web\WEB-INF\.svn\.
…\target\Zeiterfassung-web\WEB-INF\.svn\..
…\target\Zeiterfassung-web\WEB-INF\.svn\lock
How could this happen as Maven as is supposed to ignore the .svn directories by default?
Can I explicitly exclude them (note the WEB-INF - it is neither source nor resource)?
Or can one put the bloody .svn data somewhere else separate from the work files (like clearcase does)?
The POM as requested (minus scm and issue management):
<project
xmlns='http://maven.apache.org/POM/4.0.0'
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xsi:schemaLocation='http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd'
>
<!-- Projekt - - - - - - - - - - - - - - - - - - - - - - - - {{{1 - - - -->
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>Zeiterfassung</artifactId>
<groupId>com.noser</groupId>
<version>1.0-SNAPSHOT</version>
<relativePath>../Zeiterfassung</relativePath>
</parent>
<groupId>com.noser</groupId>
<artifactId>Zeiterfassung-web</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>Zeiterfassung Webapp</name>
<description>Mobile Applikation Zeiterfassung — Web Archive/Application</description>
<url>http://maven.apache.org</url>
<repositories>
<repository>
<id>java.net2</id>
<name>Repository hosting the jee6 artifacts</name>
<url>http://download.java.net/maven/2</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>Zeiterfassung-lib</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>2.8.0</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
</dependencies>
<organization>
<name>Noser Engineering AG</name>
<url>http://www.noser.com</url>
</organization>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - }}}1 - - - -->
<!-- Build - - - - - - - - - - - - - - - - - - - - - - - - - {{{1 - - - -->
<build>
<defaultGoal>package</defaultGoal>
<resources>
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>**/.backups/*</exclude>
<exclude>**/.backups</exclude>
<exclude>**/.svn/*</exclude>
<exclude>**/.svn</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.scala-tools</groupId>
<artifactId>maven-scala-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
<configuration>
<jvmArgs>
<jvmArg>-Xms64m</jvmArg>
<jvmArg>-Xmx1024m</jvmArg>
</jvmArgs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
<encoding>${project.build.sourceEncoding}</encoding>
<showDeprecation>true</showDeprecation>
</configuration>
开发者_高级运维 </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
</plugin>
</plugins>
<finalName>Zeiterfassung-web</finalName>
</build>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - }}}1 - - - -->
<!-- Profiles - - - - - - - - - - - - - - - - - - - - - - - {{{1 - - - -->
<profiles>
<profile>
<id>endorsed</id>
<activation>
<property>
<name>sun.boot.class.path</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
<encoding>${project.build.sourceEncoding}</encoding>
<showDeprecation>true</showDeprecation>
<compilerArguments>
<bootclasspath>${settings.localRepository}/javax/javaee-endorsed-api/6.0/javaee-endorsed-api-6.0.jar${path.separator}${sun.boot.class.path}</bootclasspath>
</compilerArguments>
</configuration>
<dependencies>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-endorsed-api</artifactId>
<version>6.0</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - }}}1 - - - -->
<!-- Reporting - - - - - - - - - - - - - - - - - - - - - - - {{{1 - - - -->
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<show>private</show>
<nohelp>true</nohelp>
</configuration>
</plugin>
</plugins>
</reporting>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - }}}1 - - - -->
<!-- Properties - - - - - - - - - - - - - - - - - - - - - - {{{1 - - - -->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compile.encoding>UTF-8</maven.compile.encoding>
<netbeans.hint.deploy.server>gfv3ee6wc</netbeans.hint.deploy.server>
</properties>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - }}}1 - - - -->
</project>
<!-- vim: set nowrap tabstop=8 shiftwidth=2 softtabstop=2 expandtab :-->
<!-- vim: set textwidth=0 filetype=xml foldmethod=marker spell spelllang=en_gb :-->
I'm extremely surprised that you get .svn
directories in your war (to my knowledge, scm directories are excluded by default, the excludes are hard coded in the sources). I really don't know why you get them.
That said, the following might help to work around the issue:
...
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<warSourceExcludes>
**/.svn/**
</warSourceExcludes>
</configuration>
</plugin>
...
</plugins>
But as I said, I consider the above more as a workaround than a solution.
It most likely happens if you use the maven-release-plugin
. If it bothers you just run mvn clean
and be done with it.
精彩评论