tags:

views:

23

answers:

2

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&lt;/url&gt;
  <repositories>
    <repository>
      <id>java.net2</id>
      <name>Repository hosting the jee6 artifacts</name>
      <url>http://download.java.net/maven/2&lt;/url&gt;
    </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&lt;/url&gt;
  </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 :-->
A: 

It most likely happens if you use the maven-release-plugin. If it bothers you just run mvn clean and be done with it.

Robert Munteanu
`mvn clean` is indeed my current solution. I am looking for a better solution. Or the reason why it happens so I can avoid the situation or know that when I do X then I need a clean afterwards.
Martin
Do you use the `maven-release-plugin`?
Robert Munteanu
Actually No: — >ffind /SVT"maven-release-plugin" *.pom — 0 Zeilen in 0 Dateien
Martin
Can you post your pom.xml then?
Robert Munteanu
Done. I hope you can see something from it.
Martin
Are you using the netbeans integration ? I see a property related to it. Perhaps that has something to do with it.
Robert Munteanu
+1  A: 

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.

Pascal Thivent
As I said it is sporadic, so I guess it is some kind of bug. But thanks for the hind with the exclude.
Martin