我有一个包含以下内容的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>
但它不起作用。有什么问题?
答案 0 :(得分: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>
您还有另一种选择是使用maven-antrun-plugin并执行ant任务来手动复制文件。
答案 1 :(得分:1)
您可以使用maven resources插件将src / main / test添加为资源目录。有关基本信息,请参阅http://maven.apache.org/plugins/maven-resources-plugin/examples/resource-directory.html;有关仅包含某些文件的信息,请参阅http://maven.apache.org/plugins/maven-resources-plugin/examples/include-exclude.html