2

Mavenプロジェクトには、コンテンツが必要なディレクトリがあります..

${basedir}/target/webapp-SNAPSHOT/WEB-INF/vendorspace/  
    |- dealo  
         |-static  
             |- css  
             |- images  
             |- js  
    |- blog  
         |- static
             |-css
             |-images
             |-js
    ------

そして、静的ディレクトリの内容をその親ディレクトリにコピーしたい

${basedir}/target/tstatic/
     |- dealo  
          |- css  
          |- images  
          |- js  
     |- blog  
          |-css
          |-images
          |-js  

1 つの解決策は、次のようにフォルダーの名前を指定することです。

 <copy todir="${basedir}/target/vstatic/dealo">
   <fileset dir="${basedir}/target/webapp-SNAPSHOT/WEB-INF/vendorspace/dealo/static/" includes="**/*" />  
 </copy>  
 <copy todir="${basedir}/target/vstatic/blog">
   <fileset dir="${basedir}/target/webapp-SNAPSHOT/WEB-INF/vendorspace/blog/static/" includes="**/*" />
 </copy>

しかし、私はそれらのフォルダーを10個持っており、将来的には増えるので、ハードコーディングされた名前を付けたくありません

関連する質問: Maven : サブディレクトリ構造なしでファイルをコピー しますが、ファイルのみをコピーしています。「静的」ディレクトリ内のサブディレクトリをそのコンテンツとともにコピーする必要があります

4

1 に答える 1

4

次のようなものを処理するには、 maven-war-pluginを使用することをお勧めします。

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.3</version>
        <configuration>
          <webResources>
            <resource>
              <!-- this is relative to the pom.xml directory -->
              <directory>resource2</directory>
            </resource>
          </webResources>
        </configuration>
      </plugin>
    </plugins>
  </build>
  ...
</project>

構成を介してフィルタリングなどをオフにすることもできます。

  <configuration>
      <!-- the default value is the filter list under build -->
      <!-- specifying a filter will override the filter list under build -->
      <filters>
        <filter>properties/config.prop</filter>
      </filters>
      <nonFilteredFileExtensions>
        <!-- default value contains jpg,jpeg,gif,bmp,png -->
        <nonFilteredFileExtension>pdf</nonFilteredFileExtension>
      </nonFilteredFileExtensions>
      <webResources>
        <resource>
          <directory>resource2</directory>
          <!-- it's not a good idea to filter binary files -->
          <filtering>false</filtering>
        </resource>
        <resource>
          <directory>configurations</directory>
          <!-- enable filtering -->
          <filtering>true</filtering>
          <excludes>
            <exclude>**/properties</exclude>
          </excludes>
        </resource>
      </webResources>
    </configuration>
于 2013-04-30T09:33:58.133 に答える