使用Maven将多个资源目录复制到独立的目标目录

在Maven的资源插件:

此目标要求您配置要复制的资源,并指定outputDirectory。

basedir使用maven 将内的两个(或多个)外部资源目录复制到构建输出目录(请参阅blahuggh)。

${basedir}/ 

- pom.xml

- blah/

- uggh/

- src/

- main/..

- test/..

- target/

- classes/..

- blah/

- uggh/

例如,给定上面复制的目录结构,blahuggh使用maven到目标目录。复制一个或另一个很容易,但是,该插件仅接受一个outputDirectory。如果将target目录和两个目录都指定为资源,则每个目录的内容将被复制到目录,target而不是目录本身。

插件的其他使用将覆盖初始名称。另外,我尝试指定整个basedir目录,仅包含所需的目录。这不会复制任何内容。

这是复制单个目录的示例:

  <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>${basedir}/target/blah</outputDirectory>

<resources>

<resource>

<directory>blah</directory>

<filtering>true</filtering>

</resource>

</resources>

</configuration>

</execution>

</executions>

</plugin>

回答:

这是文件结束的位置:

<outputDirectory>${basedir}/target/blah</outputDirectory>

这是从中复制的位置:

<directory>src/main/otherresources</directory>

会有一个<include><includes>标记来告诉文件名

您需要多个,其中多个文件夹<execution>具有不同<id>的:

  <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>${basedir}/target/blah</outputDirectory>

<resources>

<resource>

<directory>blah</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>${basedir}/target/ughh</outputDirectory>

<resources>

<resource>

<directory>ughh</directory>

<filtering>true</filtering>

</resource>

</resources>

</configuration>

</execution>

</executions>

</plugin>

以上是 使用Maven将多个资源目录复制到独立的目标目录 的全部内容, 来源链接: utcz.com/qa/400980.html

回到顶部