2

Maven アセンブリ プラグインを定義し、「コンパイル」フェーズでプラグイン (assembly.xml) を実行するように pom を設定しました。assembly.xml - 「dependencySet」を使用して jar/ファイルを取得し、「fileSet」を使用していくつかのファイルをローカル セットに置き換えます。

Maven アセンブリ プラグイン 2.2 ベータ 2 では、ファイルが置き換えられます。アセンブリ プラグインのバージョン 2.2 または 2.2.1 では、a) 「既に追加されています、スキップしています」と表示され、上書きされません。b)フェーズをpomで「コンパイル」ではなく「リソースの生成」に変更すると、「すでに追加されています、スキップしています」というメッセージが表示され、とにかくファイルが置き換え/上書きされます。

バージョン間で何が変更されたのか、フェーズ変更によって機能する理由を知りたいです。また、誰かが「コンパイル」段階で正確に何が起こるかを説明できると助かります(上書きされません)。私の問題の回避策はありますか?

助けてくれてありがとう!

スニペットが含まれています:

`<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-assembly-plugin</artifactId>
  <version>2.2</version>
  <executions>
    <execution>
      <id>create-install-image-layout</id>
      <phase>compile</phase>
      <goals>
        <goal>directory-single</goal>
      </goals>
      <configuration>
        <descriptors>
           <descriptor>src/main/assembly/assembly.xml</descriptor>                                              
        </descriptors>                                     
        <ignoreDirFormatExtensions>false</ignoreDirFormatExtensions>
      </configuration>
    </execution>
  </executions>
 </plugin>`
4

2 に答える 2

1

目標の directory-single は非推奨としてマークされています。さらに、maven-assembly-plugin の最新リリースは 2.2 ではなく 2.2.2 です。さらに、任意の目的でアーカイブを作成するための正しいフェーズは、ソースのコンパイルが行われるコンパイラ フェーズではなく、パッケージ フェーズです。

于 2011-12-08T13:25:50.967 に答える
0

どのような目標を実行していますか? 最初にクリーンを実行していますか?コードが既にコンパイルされているため、コンパイル フェーズをスキップしている可能性があります。

于 2011-04-26T18:43:34.940 に答える