我有一个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任务来手动复制文件。