Maven - 从构建中排除文件夹

Che*_*tah 31 maven maven-compiler-plugin

试图src/main/resources/scripts/从我的构建中驱逐一个文件夹,但以下内容不起作用:

<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <excludes>
                <exclude>src/main/resources/scripts/</exclude>
            </excludes>
        </resource>
    </resources>

    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <excludes>
                    <exclude>src/main/resources/scripts/</exclude>
                </excludes>
                <source>1.7</source>
                <target>1.7</target>
            </configuration>
        </plugin>
    </plugins>
</build>
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Rob*_*lte 51

而是尝试:

<exclude>scripts/**</exclude>
Run Code Online (Sandbox Code Playgroud)

排除基于目录,因此您的构造将被排除

src/main/resources/src/main/resources/scripts
Run Code Online (Sandbox Code Playgroud)

  • http://maven.apache.org/plugins/maven-resources-plugin/examples/include-exclude.html为您提供了适当的示例.`**`只匹配目录,如果是文件,我希望它是`scripts/**/*` (4认同)
  • 您会认为我是个白痴...我完全看错了项目...您的建议有效。谢谢 (4认同)
  • 感谢您的建议,但这似乎对我不起作用. (2认同)
  • 你先做过"mvn clean"吗?顺便说一句,它对manven-compiler-plugin没有影响,它只编译.java文件.maven-resources-plugin负责将这些文件复制到类路径. (2认同)

小智 6

我遇到了类似的问题,发现了以下问题:

  • 您可能有一个父pom已经定义了一个配置maven-compiler-plugin.为此,请添加combine.self="override"configuration标记.请参阅Maven:是否可以覆盖已为父POM中的配置文件定义的插件的配置
  • 如果它需要编译的排除类,插件似乎忽略了排除:确保您没有引用其他将被编译的类中的排除类.例如,如果你排除Foo.java,但在Bar.javaimport Foo;,它将(尝试)编译Foo.java编译Bar.java.

例如:

<profiles>
    <profile>
        <id>myId</id>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration combine.self="override">
                        <excludes>
                            <exclude>**/some/full/directory/*</exclude>
                            <exclude>**/some/single/File.java</exclude>
                        </excludes>
                    </configuration>
                </plugin>
            </plugins>
        </build>
</profile>
Run Code Online (Sandbox Code Playgroud)


小智 6

<profiles>
    <profile>
        <id>readBuild</id>
        <build>
             <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration >
                    <excludes>
                        <exclude>**/com/pyramid/controllers/EntitlementWriteController.java</exclude>
                        <exclude>**/com/pyramid/controllers/ProductWriteController.java</exclude>
                    </excludes>
                     <testExcludes>
                      <testExclude>**/com/pyramid/controllers/EntitlementWriteControllerTest.java</testExclude>
                       <testExclude>**/com/pyramid/controllers/ProductWriteControllerTest.java</testExclude>
                    </testExcludes>
                </configuration>
            </plugin>
        </plugins>
            <directory>yourDirectory</directory>
        </build>
    </profile>
Run Code Online (Sandbox Code Playgroud)


Isr*_*les 6

它非常简单,您不需要添加其他插件:

https://maven.apache.org/plugins/maven-resources-plugin/examples/include-exclude.html

        <build>
            <resources>
                <resource>
                    <directory>src/main/resources</directory>
                    <excludes>
                        <exclude>application.properties</exclude>
                    </excludes>
                </resource>
            </resources>
        </build>
Run Code Online (Sandbox Code Playgroud)