5

Mavenアセンブリプラグインのドキュメントによると、相対ディレクトリは許可されていますが、「..」はまったく機能していないようです。

私が入ることができない(そして私が変えることができない)理由のために、私がアセンブリに含めたいmavenプロジェクトディレクトリの外にいくつかのファイルがあります。

/-
---maven-project/
---some-crap/

私はさまざまなことを試しました:

<fileSets>
    <fileSet>
        <directory>${project.basedir}/../some-crap</directory>
        <outputDirectory>crapdir</outputDirectory>
        <includes>
            <include>**/*</include>
        </includes>
    </fileSet>
</fileset>

また

<fileSets>
    <fileSet>
        <directory>${project.basedir}</directory>
        <outputDirectory>crapdir</outputDirectory>
        <includes>
            <include>../some-crap/**/*</include>
        </includes>
    </fileSet>
</fileset>

また

<fileSets>
    <fileSet>
        <directory>../some-crap</directory>
        <outputDirectory>crapdir</outputDirectory>
        <includes>
            <include>**/*</include>
        </includes>
    </fileSet>
</fileset>

など。私のMavenバージョンは3.0.4(最新)です。

このようなものをフェッチするためにantで何かを書いたり、アセンブルする前にターゲットディレクトリにコピーしたりする以外に、私にできることはありますか?

アセンブリプラグインは「..」を「1レベル上」ではなくディレクトリ名として扱っていると思います。

ありがとう。

4

1 に答える 1

2

アセンブルする前に、maven-antrun-plugin を使用してファイルをプロジェクト dir にコピーするのはどうですか?

       <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-antrun-plugin</artifactId>
           <executions>
               <execution>
                   <id>prepare-deploy-package</id>
                   <phase>prepare-package</phase>
                   <goals>
                       <goal>run</goal>
                   </goals>
                   <configuration>
                       <tasks>
                           <copy todir="${project.build.directory}">
                               <fileset dir="../xxxx">
                               </fileset>
                           </copy>
                       </tasks>
                   </configuration>
               </execution>
           </executions>
       </plugin>
于 2013-01-25T08:08:46.567 に答える