問題タブ [plexus]
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.
maven-3 - plexus-archiver を使用してエントリの追加フィールドを設定する方法
zip ファイルを作成するために plexus-archiver を使用している maven プラグインを使用しています。基本的に、私は Sisu によってコンポーネント注入を取得しています。次に、指定されたファイルセットをトラバースし、必要なものを登録しています。
そして、zipは適切に生成されています。
しかし、zip に追加される一部のファイルには、ファイルの MIME タイプの追加フィールドを含める必要があります。
plexus-archiver でそれを行うにはどうすればよいですか?
java - XmlPlexusConfiguration を使用して、Bean スタイルの Maven 拡張機能の構成をさらにインポートする
POM 構成オブジェクトから構成するようにセットアップした Maven 拡張機能があります。
結局電話する
メソッド。
構成が追加の構成をインポートして、提案と第 2 のスタイルの委任を許可することを許可したいので、
アーティファクト g:a:v には、 content を含むファイルMETA-INF/my-project-name.xmlがあります<configuration><foo>...</foo></configuration>
。
<configuration>
をインポートとその XML ファイルと組み合わせて、上記と同じセッターへの呼び出しを生成したいと思います。
使用する
と
XML ファイルから構成を解析してから、コンフィギュレーターを呼び出して Maven 拡張機能を構成するために、次のように記述しました。
whereconfigurable
はObject
with setters でconfiguration
あり、次のようにXmlPlexusConfiguration
ロードされます。
ComponentConfigurator
ビアを取得
これを実行すると、
MapOrientedComponents と、拡張機能の構成に使用される Bean スタイルのリフレクト セッター呼び出しをブリッジする方法はありますか?
または、XML ファイルのテキストを追加の構成操作に変換するより良い方法はありますか?
編集:
もう少し掘り下げると、次のようになります
MapOrientedComponentConfigurator
失敗の原因となる統合テストを介して実行するとa が返されますVerifier
が、そうでない場合は、別の互換性のある種類のコンフィギュレーターが生成されます。
100% 再現可能な違いは-X
、ロガーがデバッグ トレースを生成するように実行するかどうかです。
maven - Maven MOJO 依存性注入とパラメーター
MOJO プラグイン DI に Plexus を使用する場合、MOJO 構成パラメーター ( @Parameter
Mojo クラスで注釈付き) を他のコンポーネントにも注入する方法はありますか?
言い換えれば、他のコンポーネントに Mojo 自体を注入するか、手動の「init メソッド」に頼る以外に、Mojo パラメータを他の Plexus コンポーネントと共有する方法はありますか? パラメータがDIコンテキストによって管理されることを期待していました。
次のような Mojo があるとします。
次に、次のようなことをするといいでしょう。
する代わりに:
java - Plexus から Maven インスタンスを取得する
現在、PlexusContainer を取得してMaven
、Maven または Eclipse 実行コンテキストの外部で初期化されたインスタンスを取得しようとしています。
その目的のために、次のコードがあります(簡略化):
pom.xml で標準のplexus-component-metadata:process-classes
プラグインを実行したことを考えると、これがこのように機能していればよかったのにと思います。
残念ながら、このコードを実行すると、次の理由で LookupException が発生します (簡潔にするためにスタックトレースは省略されています)。
不足しているバインディングを修正し、maven の完全な依存関係グラフを手動で登録する手間を省くために、依存関係に含まれるコンポーネント記述子を、アプリケーション用に生成されたものとマージしようとしました。
その目的のために、すべての依存関係を にコピーしtarget/dependency
、いくつかのシェル スクリプトを実行して、components.xml
.
これらの依存関係を の実行にdependency:unpack
渡し、抽出された場所を次のようにメタデータ マージャーに渡します。
残念ながら、エラー メッセージが続くので、私の質問は次のとおりだと思います。Plexus からインスタンスを簡単に取得するにはどうすればよいですか?Maven
PS完全を期すために、現在、次の依存関係を使用しています。