当前位置: 首页 > 知识库问答 >
问题:

Maven - 从生成中排除文件夹

尹俊雅
2023-03-14

试图从我的构建中提取文件夹src/main/资源/脚本/,但以下操作不起作用:

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

有什么想法吗?

共有3个答案

姬俊远
2023-03-14
<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>
郭阳泽
2023-03-14

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

  • 您可能有一个父pom,它已经为<code>maven编译器插件到<code>配置
  • 如果插件需要被排除的类进行编译,那么它似乎会忽略排除:确保您没有从其他将被编译的类中引用排除的类。例如,如果排除<code>Foo。java,但在栏中。javayou导入Foo 编译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>

岳景明
2023-03-14

相反,尝试:

<exclude>scripts/**</exclude>

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

src/main/resources/src/main/resources/scripts
 类似资料:
  • 这个问题,只是为了确保我的解释是正确的: 我正在使用Mojohaus jaxb2 maven插件从中生成java类。xsd文件,默认情况下,它会将它们放在目标/生成的源中 现在,我想在源代码管理中跟踪这些类(当然不包括target),有一天我可能会用注释或一行代码稍微定制一个类,甚至可能会更改我的类生成插件,所以我要做的是在src/main/java中复制这些类和包 当我尝试编译时,这让Maven

  • 我使用jaxb2 maven插件的xjc目标从一组xsd文件生成Java类。 一个最小的、完整的、可验证的例子是一个带有以下pom的Maven项目。xml文件: 还有一个名为example的文件。src/main/resources/文件夹中的xsd(任何有效的xsd文件都可以):

  • 我在maven中配置了一个项目,代码分析是由Sonarqube完成的。 我试图在pom.xml文件中配置SonarQube,以便从代码分析中排除一些文件。这些文件可以通过它们的类名来标识,它们在扩展名之前包含下划线字符(它们是元模型类)。下面我给出了pom.xml文件中我试图排除它们的部分: 但是,上面的代码不起作用。是否有一种方法可以从我的pom.xml文件中配置SonarQube,以便在分析源

  • 问题内容: 我在maven中配置了一个项目,代码分析由SonarQube完成。 我正在尝试在pom.xml文件中配置SonarQube,以从代码分析中排除一些文件。这些文件可以通过其类名来标识,它们在扩展名之前包含下划线字符(它们是元模型类)。下面,我给出了pom.xml文件的一部分,在其中尝试排除它们: 但是,以上代码不起作用。有没有一种方法可以从我的pom.xml文件中配置SonarQube以

  • 问题内容: 由于传递依赖关系,我的战争被xml-apis和xerces jar填充。我尝试按照参考页上有关maven-war- plugin的说明进行操作,但是它不起作用。 我究竟做错了什么 ?如果很重要,我发现我正在使用的maven-war-plugin版本为2.1-alpha-1 问题答案: 您可以将这些依赖项标记为已提供: 这样,maven会将它们添加到编译类路径中,但不会打包它们。假定它们

  • 问题内容: 我有一个使用Ant脚本构建的Java项目。我正在尝试将项目转换为Maven。 其中一项任务将生成一个名为Version.java的Java源文件,其中包含编译时间戳记的静态String表示形式,如下所示: Ant任务非常简单: 是否可以使用生成源或其他一些简单方法在Maven中执行类似的操作? 问题答案: 经过更多的Google搜索之后,我想到了这个(在pom.xml中): 它看起来运