我正在尝试使用 maven 将两个单独的目录及其文件复制到不同的位置目录中,但无法实现此目的,任何人都可以在这里提供帮助吗?
**src/com/smepath ----> buildDirectory/install/****
**src/com/someotherpath -----> buildDirectory/xsd/****
虽然这里有一个相关的问题( Best practices for copying files with Maven )但并不能解决我的问题。
我正在尝试更改以下解决方案。
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>copy-resources</id>
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/install</outputDirectory>
<resources>
<resource>
<directory>src/main/resources/common/install</directory>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/resources/${env}/install</directory>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
就像我为我的第二个目录位置再创建一个类似的条目 xsd
然后第二个覆盖第一个。
还使用额外的 <excution>
<executions>
内或额外的<configuration>
也不起作用。
最佳答案
添加第二个<execution>
你的 pom 应该可以工作。
我的猜测是您没有指定唯一的 <id>
每个阶段。
我的项目布局如下:
src/main/resources/foo
|_a.txt
|_b.txt
src/main/resources/bar
|_c.txt
src/main/resources/baz
|_d.txt
src/main/resources/fum
|_e.txt
|_f.txt
在clean validate
之后我最终像这样复制了我的文件:
target/location-1
|_a.txt
|_b.txt
|_c.txt
target/location-2
|_d.txt
|_e.txt
|_f.txt
在我的 pom.xml 中使用以下插件定义
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>copy-resources-1</id>
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/location-1</outputDirectory>
<resources>
<resource>
<directory>src/main/resources/foo</directory>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/resources/bar</directory>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
<execution>
<id>copy-resources-2</id>
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/location-2</outputDirectory>
<resources>
<resource>
<directory>src/main/resources/baz</directory>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/resources/fum</directory>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
您应该能够使用上面的示例来复制安装文件和 xsd 文件。
关于java - Maven 将两个单独的目录及其文件复制到不同的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23915482/