为什么maven将subversion目录复制到目标

时间:2010-10-20 08:56:43

标签: svn maven

它不会一直发生,但有时我会发现这样的东西:

>dir /SF  target\.svn
…\target\Zeiterfassung-web\WEB-INF\.svn\.
…\target\Zeiterfassung-web\WEB-INF\.svn\..
…\target\Zeiterfassung-web\WEB-INF\.svn\lock

如果Maven默认会忽略.svn目录,怎么会发生这种情况呢?

我可以明确地排除它们(请注意WEB-INF - 它既不是源也不是资源)?

或者可以将血腥的.svn数据放在其他地方与工作文件分开(就像clearcase一样)?


请求POM(减去scm和问题管理):

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

2 个答案:

答案 0 :(得分:1)

我非常惊讶你在战争中得到.svn目录(据我所知,scm目录默​​认排除,排除在源代码中硬编码)。我真的不知道你为什么会得到它们。

尽管如此,以下内容可能有助于解决此问题:

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

但正如我所说,我认为上述更多是解决方法而不是解决方案。

答案 1 :(得分:0)

如果您使用maven-release-plugin,很可能会发生这种情况。如果它困扰你,只需运行mvn clean并完成它。