开发者

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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜