11

生成されたビルド アーティファクトを Maven のターゲット ディレクトリから削除するには? Maven は、ターゲット ディレクトリに jar ファイルまたは war ファイルを生成します。Maven が jar/war ファイルをローカル リポジトリにインストールした後 (つまり、maven が 'install' ゴールを実行した後) に、そのファイルを削除したいと思います。削除は、手動で実行するインストール目標または別の目標のいずれかで発生する可能性があります。

target/site や target/surefire-reports など、ターゲット ディレクトリの他の部分はそのままにしておくことに注意してください。

4

3 に答える 3

20

クリーンなプラグインを使用して、インストールフェーズの後に実行を実行するだけです。

  <plugin>
    <artifactId>maven-clean-plugin</artifactId>
    <version>2.2</version>
    <executions>
      <execution>
        <id>auto-clean</id>
        <phase>install</phase>
        <goals>
          <goal>clean</goal>
        </goals>
        <configuration>
          <filesets>
            <fileset>
              <directory>${project.build.outputDirectory}</directory>
              <includes>
                <include>**/*.jar</include>
              </includes>
            </fileset>
           </filesets>
         </configuration>
      </execution>
    </executions>
  </plugin>
于 2009-10-12T06:43:50.167 に答える
0

これを実行できるMavenには何も組み込まれていません。インストール後にantrunプラグインを使用してアーティファクトを削除するAntスクリプトを実行したり、execプラグインを使用してコマンドラインを使用してアーティファクトを削除したり、独自のプラグインを作成したりできます。

これらのことを行うことには、たとえあったとしても、ほとんど価値がないことをお勧めします。targetMavenは、後続のビルドをより効率的にするために、中間および最終のアーティファクトを配置するように設計されています。これを行うために利用できるものがすでにない理由は、これがほとんど価値がないことを示しています。それがあなたにとって価値があるなら、あなたにはいくつかの選択肢があります。

于 2009-10-12T06:34:01.403 に答える
0

私は少し遅れていることを知っています。しかし、問題は、maven プロジェクトがアーティファクトを自動的にアーカイブすることだったと思います。私の場合、自動アーカイブを無効にし、ビルド後のアクションを使用してアーティファクトを手動でアーカイブしました。このようにして、関心のあるアーティファクトのみがアーカイブされます。次のビルドが実行されるまで、生成されたアーティファクトをディスクに残しておきます。

于 2011-01-11T06:35:06.037 に答える