私はソフトウェア製品会社の専門サービスコンサルタントです。当社の製品はJava APIを提供し、フィールドのカスタマイズを構築することができます。これらの拡張機能は、最大50個の個別のJARファイルに依存しています.JARファイルの一部は当社独自のもので、その他はオープンソースです。コンパイルクラスパスをMavenプラグインに動的にビルドする方法は?
いくつかの理由から、POMの依存関係をハードコードしたくないのです。主に、新しいリリースがそれぞれオープンソース成果物のわずかに異なるバージョンに依存するからです。新製品がリリースされたら、新しいインストールフォルダを指して拡張機能を再構築するだけです。
私はMavenプラグインを作成しようとしています。これは、インストールフォルダへの参照を取得し、フォルダを再帰的に処理し、すべての* .jarファイルを自動的にコンパイル時クラスパスに追加します。
私はこれを試してみました:
Map<?, ?> context = getPluginContext();
MavenProject maven = (MavenProject) context.get("project");
List<String> classpath = maven.getCompileClasspathElements();
// start adding additional elements to the classpath
初期化フェーズの間に実行をスニペットが、クラスパスは、開始をコンパイルする時点で戻り、コンパイルが失敗したこと。私はこれについて正しい方向に進むつもりですか?