1

いくつかのリソースを2つの異なるディレクトリにコピーしたいと思います。これをpomで指定するにはどうすればよいですか?

<plugin>
  <artifactId>maven-resources-plugin</artifactId>
  <version>2.6</version>
  <executions>
    <execution>
      <id>copy-resources</id>
      <!-- here the phase you need -->
      <phase>validate</phase>
      <goals>
        <goal>copy-resources</goal>
      </goals>
      <configuration>
        <outputDirectory>
          ${project.build.directory}/${project.build.finalName}/lib
        </outputDirectory>
        <resources>          
          <resource>
            <directory>${SOME_LIB}</directory>
          </resource>
        </resources>              
      </configuration>                      
    </execution>
  </executions>
</plugin>
4

2 に答える 2

1

代わりにブロック<resources/>内のタグを使用します。<build/>

<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <targetPath>${project.build.directory}/txt</targetPath>
            <includes>
                <include>*.txt</include>
            </includes>
        </resource>
        <resource>
            <directory>src/main/resources</directory>
            <targetPath>${project.build.directory}/png</targetPath>
            <includes>
                <include>*.png</include>
            </includes>
        </resource>
        <resource>
            <directory>${SOME_LIB}</directory>
            <targetPath>${project.build.directory}/lib</targetPath>
            <includes>
                <include>*.dll</include>
            </includes>
        </resource>
    </resources>
</build>

このようにして、さまざまなファイルをさまざまなターゲット パスに並べ替えることができます。


あなたの正確な問題では、これはうまくいきます:

<build>
    <resources>
        <resource>
            <directory>${SOME_LIB}</directory>
            <targetPath>${project.build.directory}/${project.build.finalName}/lib</targetPath>
        </resource>
        <resource>
            <directory>${SOME_LIB}</directory>
            <targetPath>${project.build.directory}/${project.build.finalName}/WEB-INF</targetPath>
    </resources>
</build>

リソースは、必要に応じて両方のターゲット ディレクトリにコピーされます。

于 2012-09-14T14:27:11.490 に答える
0

outputDirectories は java.io.File タイプであるため、プラグインに基づいて、2 つの実行を構成する必要があります。

処理するように設計されていなかったのは残念です

<outputDirectories>
    <outputDirectory>1</outputDirectory>
    <outputDirectory>2</outputDirectory>
</outputDirectories>
于 2012-09-14T14:22:08.557 に答える