0

プロジェクトのPOMファイルで、あるMavenプラグインを別のMavenプラグインに自動的に置き換えることが可能かどうか知っていますか?

コンテキストは、Scala コンパイラ プラグインを使用して Scala ビルドをインターセプトしようとしているということです。そのために、Scala コンパイラ プラグインをscalacコマンドラインから (つまり、POM ファイル内ではなく) 引数として指定できるようにしたいと考えています。これは、最新バージョンの Scala Maven プラグイン (scala- maven -plugin として知られている) をそのaddScalacArgsフラグを使用して使用することで可能です。 .html . ただし、古いバージョンのプラグイン (maven-scala-plugin として知られている) では不可能であり、さまざまな POM ファイルすべてに引数を追加する必要があります (大規模な 3 番目のプラグインを扱う場合、魅力的な提案ではありません)。パーティ企画)。

私の考えでは、プラグインの古いバージョンを POM ファイルの新しいバージョンに自動的に置き換えることができれば、それを使用できaddScalacArgs、すべてがうまくいくと思います。おそらく、これを行うコードを作成することはできますが (明らかに、手動で実行しても、引数を追加するよりも優れているとは言えません)、サポートされている Maven の使用例のように思えます。

具体的には、このプラグインを置き換えようとしています:

<plugin>
  <groupId>org.scala-tools</groupId>
  <artifactId>maven-scala-plugin</artifactId>
  ...
</plugin>

これで:

<plugin>
  <groupId>net.alchim31.maven</groupId>
  <artifactId>scala-maven-plugin</artifactId>
  ...
</plugin>
4

1 に答える 1

0

これは、pomの2つのプロファイルで実行できます。一方はデフォルトでアクティブになり、もう一方はアクティブになりません。次に、選択したプロファイルに応じて、どちらを使用するかを簡単に選択できます。

たとえば、同じ精神の古い投稿があります:Mavenテストスコープで実行しているときに、提供されたスコープの依存関係を除外するにはどうすればよいですか?

于 2012-09-14T10:18:09.477 に答える