問題タブ [maven-mojo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
111 参照

maven - Maven 3.3以降のマルチモジュールビルドでの依存関係の解決が間違っている

すべてのプロジェクトの依存関係を取得し、これらのアーティファクト情報をテンプレート ファイルに入力する maven プラグインを作成しました: jnlp-maven-plugin。説明されている動作を観察するためのテストケースが含まれています。

maven 3.3 以降、シェード プラグインによって依存関係が生成されると、プラグインはマルチ モジュール ビルドであまりにも多くのアーティファクトを取得します。各モジュールを連続してビルドすると、推移的な依存関係が正しく提供されます。Maven 3.2.5 を使用すると、すべて正常に動作します。

成果物は次のコードで取得されます: AbstractJnlpMojo#73。これにより、依存関係が推移的に取得されます。Maven 3.3以降、これを行う新しい方法はありますか? それとも私はそれを間違っていますか?

一方、アセンブリ プラグインは、陰影付きの依存関係を常に正しくフェッチします。しかし、依存関係は独自のアルゴリズムで再帰的に解決されます。

再現するには、github からプロジェクトを複製し、ルート モジュールをインストールする必要があります。ファイルは two/target/jnlp に作成されます。マルチモジュールビルドのmaven 3.3.Xでは、30個のファイルが作成されます。古い Maven バージョンと単一モジュールのインストールでは、20 個のファイルが作成されます。

0 投票する
1 に答える
248 参照

maven - Maven プラグインのビルド ログをインターセプトする方法

mojo-executor を使用して別の Mojo を実行する Maven Mojo を作成しました。これが実行されると、その Mojo 実行の出力はデフォルトの出力になります。したがって、実行されると、次のように出力されます。

OK、Errorprone を使用していくつかのバグチェッカーを作成したため、これらの警告はすべて予想されます。しかし問題は、この出力を標準出力から削除して、ファイルに入れなければならないことです。でもその部分だけ。

私がこれまでに試したことは、実行時に出力をファイルにリダイレクトすることでした:

前提: - 標準出力からすべてを削除してファイル内に配置するため、使用できませんmvn --logFile-lまた、ユーザーが --logFile またはそのようなものを配置しても、ソリューションは信頼できないはずです。

0 投票する
2 に答える
240 参照

java - Maven プラグイン: 複数のモジュールにまたがるリソースへのアクセス

現在、マルチモジュール Maven プロジェクトで XML ファイルを生成するためのカスタム Maven プラグインを作成しています。

私の Maven 構造は非常に標準的です。1 つの親プロジェクトと、親プロジェクト フォルダー内のプロジェクト コンポーネントによるモジュールです。

カスタム アノテーションによってフラグが付けられた一連のクラスをモジュールごとにリストする必要があります。対応するモジュール出力ディレクトリ (${project.build.outputDirectory}) にコンパイル時に XML ファイルを作成するための一連のカスタム アノテーションとアノテーション プロセッサを既に作成しました。

ここで、各モジュールの XML を 1 つのファイルにマージする必要がありますが、各パスをパラメーターとして設定することを除いて、Maven プラグイン内から各モジュールにアクセスする方法がわかりません (この方法は好きではありません)。

これを行う方法について何か考えはありますか?Maven プラグインはプロジェクト モジュールをトラバースできますか?

前もって感謝します。

0 投票する
1 に答える
163 参照

java - カスタム Maven プラグイン内から org.reflections.Reflections を使用してクラスを見つけることができません

次のようなカスタム Maven プラグインを作成しました。

そして、私はそれを次のように使用しています:

Mojo の execute メソッドでは、Reflections API を使用して、インターフェイス CdsData を拡張するすべてのインターフェイスを取得しようとしています。

プラグインを実行する pom に依存する 5 つの結果が得られます。それで大丈夫です。ただし、別のプラグイン (cds4j-maven-plugin) を使用していくつかの実装も生成しました。

そして、上記のプラグインがソースを生成した後に実行されるように、カスタム プラグインのフェーズを prepare-package に設定しようとしました。ただし、前に述べた 5 つ以上の結果は得られません。これらの生成されたインターフェイスも表示されることを期待しています。

これは、クラス パスまたはクラス ローダーの問題でしょうか? それともフェーズでしょうか?

また、生成されたクラスのパッケージを Reflections コンストラクターに配置しようとしました。また、8 行目で説明されているように、Reflections クラスの読み込みを構成しようとしました: https://www.hellojava.com/a/80798.html

どんな助けでも大歓迎です!ありがとうございました!

乾杯、キエルド