Maven不会复制非java文件

ped*_*dr0 10 java maven-2 maven

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

<sourceDirectory>${basedir}/src/main/test</sourceDirectory>
<outputDirectory>${basedir}/src/main/bin </outputDirectory>
Run Code Online (Sandbox Code Playgroud)

在里面${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>
Run Code Online (Sandbox Code Playgroud)

但它不起作用.怎么了?

Coo*_*ans 14

如果它们不是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>
Run Code Online (Sandbox Code Playgroud)

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