我有一个pom.xml文件,其中包含以下内容:

<sourceDirectory>${basedir}/src/main/test</sourceDirectory>
<outputDirectory>${basedir}/src/main/bin </outputDirectory>

${basedir}/src/main/test内部,我有一些不包含任何.java文件的文件夹。当我开始编译时,它们不会被复制到${basedir}/src/main/bin目录中。

仅将.java文件移动(当然是在编译后)并存储在正确的文件夹中。

有人可以在不使用任何插件的情况下帮助我解决此问题吗?

我尝试过

<resources>
        <resource>
            <filtering>false</filtering>
             <directory>${basedir}/src/main/test/scenarios</directory>
             <includes>
                <include>*.xml</include>
             </includes>
             <targetPath>${basedir}/src/main/bin/scenarios</targetPath>
        </resource>

        <resource>
            <filtering>false</filtering>
             <directory>${basedir}/src/main/test/sut</directory>
             <includes>
                <include>*.xml</include>
             </includes>
             <targetPath>${basedir}/src/main/bin/sut</targetPath>
        </resource>

    </resources>

但这是行不通的。怎么了?

最佳答案

如果它们不是Java文件,则应将它们移至src/main/resources和/或src/test/resources目录。这是用于存储非Java文件的Maven约定。

您的另一个选择是使用maven-resources-plugin

  <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
            <version>2.3</version>
        </plugin>
    </plugins>
    <resources>
        <resource>
        <directory>src/main/test</directory>
            <includes>
                <include> <the_files_you_want_to_include></include>
            </includes>
        </resource>
    </resources>

您还有另一个选择是使用maven-antrun-plugin并执行ant任务来手动复制文件。

09-10 08:00
查看更多