从POM中的构建路径中排除包

时间:2014-10-30 20:06:57

标签: java maven buildpath

我在项目中有一个包de.ht.ak.praktikum.hook,该项目位于源文件夹src中,但应从构建路径中排除。我曾经这样做,右击它并选择Build Path - >排除。由于我每次更新项目时都将maven添加到项目中,排除的文件夹再次变为包,即排除被删除。我试着用这种方式解决它:

...
    <build>
        <sourceDirectory>src</sourceDirectory>
        <resources>
            <resource>
                <directory>src</directory>
                <excludes>
                    <exclude>de/ht/ak/praktikum/hook</exclude>
                </excludes>
            </resource>
        </resources>
    ...
    </build>
...

我还尝试按照there描述的那样做:

...
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-eclipse-plugin</artifactId>
        <version>3.1</version>
        <configuration>
            <sourceExcludes>
                <sourceExclude>de/ht/ak/praktikum/hook/</sourceExclude>
            </sourceExcludes>
            <sourceIncludes>
                <sourceInclude>**/*.java</sourceInclude>
            </sourceIncludes>
        </configuration>
    </plugin>
...

然而,这两种方法都没有帮助。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

您的第一次尝试无效,因为您指定将其排除为资源(即,在您生成的JAR文件中打包的那些文件 - 您通常不需要源文件成为他们中的一员。)

第二次尝试更多的是在正确的轨道上。但是,您希望将它们从编译中排除,因此您需要设置the exclude option of the maven-compiler-plugin。即,像这样:

<build>
  ..
  <plugins>
    ..
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>3.2</version>
      <configuration>
        <excludes>
          <exclude>de/ht/ak/praktikum/hook/*.java</exclude>
        </excludes>
      </configuration>
    </plugin>
    ..
  </plugins>
</build>

在Eclipse(Maven - &gt; Update Project)中更新项目时,Eclipse应该遵循此配置并将其从Eclipse内部构建路径中排除。