在 Maven 中,如何在具有自定义 src 路径时在编译中排除 src 文件?

In Maven how to exclude src files in compilation when having custom src path?

我试图将旧的 java 项目转换为 maven 构建,但在排除源文件时遇到困难:

当我为父项目设置安装目标以编译和构建所有项目的 jar 文件时,它仍然会尝试编译提到的排除的 java 文件。以下是我对该项目的 pom.xml:

<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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.app</groupId>
    <artifactId>CCAPS.Impl</artifactId>
    <version>1.0.0</version>

    <parent>
        <groupId>com.app</groupId>
        <artifactId>parent</artifactId>
        <version>1.0</version>
        <relativePath>../Maven.Convertion/parent</relativePath>
    </parent>

    <properties>
        ...
    </properties>

    <dependencies>
        ...
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>**/adjudication/mapper/BusinessAddendumItemDBOMapper.java</exclude>
                        <exclude>**/adjudication/mapper/ContactInfoDBOMapper.java</exclude>
                        <exclude>**/adjudication/mapper/IncomeDBOMapper.java</exclude>
                        <exclude>**/adjudication/mapper/IncomeItemDBOMapper.java</exclude>
                        <exclude>**/adjudication/mapper/InternationalAddressDBOMapper.java</exclude>
                        <exclude>**/adjudication/mapper/ReferralSourceDBOMapper.java</exclude>
                        <exclude>**/adjudication/interceptor/*.java</exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
        <sourceDirectory>${project.basedir}/src/net/ccapsws/ds/adjudication</sourceDirectory>
    </build>
</project>

排除的最后一行是编译时抛出错误的地方:

[ERROR] \Maven Convertion\CCAPSAdjudication\DataSource.CCAPS.Impl\src\net\gc\ccapsws\ds\adjudication\interceptor\CCAPSDTOAuditInterceptor.java:[8,46] error: package net.ccapsws.validation.dictionary does not exist

问题是我尝试使用排除声明,但由于 src 路径是自定义的(${project.basedir}/src/net/ccapsws/ds/adjudicationm,例如,是 src 路径),我怀疑 maven 没有'不认路?有人可以帮忙吗?

请注意,我不是在询问资源文件,我想编译 src 文件夹中的文件,但也愿意在编译期间排除特定的 java 文件。

编辑:还有另一个项目引用了这个项目,但在父 POM 中,我将该项目放在反应器序列中的这个项目之后,所以我认为没有其他任何地方引用这个项目。

路径问题看起来与这些链接回答的问题相似: and