問題タブ [maven-embedder]
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.
logging - MavenEmbedder実行用のロガーを設定します
JavaコードでMavenコンパイルを実行したい。したがって、ここで説明したMavenEmbedderの使用例を使用しました。
これは、Maven Embedderによって書き込まれたすべてのログを自分のロガーにリダイレクトすることを除いて、非常にうまく機能します。だから、私は自分で作成しましたMavenEmbedderLogger
(私のものout
ですPrintStream
):
次に、このロガーをエンベッダーに設定しました。
ただし、このコードを実行すると、Mavenからのすべてのログが、ロガーではSystem.out
なくデフォルトのロガー(私の場合は)に表示されます。
私は何を間違えますか?
java - MavenEmbedder-プロファイルのリストを取得する
Mavenプラグイン内のMavenのプロジェクトのすべてのプロファイルのリストを取得するにはどうすればよいですか?
それは:
ウォルター
java - JavaからMavenを実行するには?
プラグイン開発でJavaからMavenコマンドを実行したい。試してみmaven-embedder
ましたが、現在サポートされていないようです。誰かが使用できる他のツールを知っていますか?
java - Maven プラグイン内で Maven の依存関係を解決するにはどうすればよいですか?
フラグresolveTransitively=trueを指定してArtifactResolver.resolve(ArtifactResolutionRequest)を使用しようとしていますが、プロジェクトの個別のモジュールに 10 分かかります。
mvn でビルドするだけなら、4 秒ほどかかります。
コンパイル前にすべての推移的な依存関係を解決する方法と、それをコードで使用する方法は?
//プロジェクトの別のモジュールは、親を多用し、依存関係をインポートし、最終的に 350 の依存関係アーティファクトを持ちます。それで、Mavenビルドがいくつかの処理ステップを削減するか、ArtifactResolverが追加で何かを行うのでしょうか?
maven - maven-embedder を使用して Java/scala から Maven mojo を呼び出す方法
help:effective-pom mojo を Java/scala から直接呼び出したい。
maven-runtime をセットアップして mojo を呼び出す方法の最小限の例はありますか?
この質問への回答で想定されているように、ものを呼び出す前に、いくつかのコンテキストが必要であると思います:
例えば
具体的には、Effective-pom mojo は不要なプレフィックスとサフィックスを xml に書き込みます。後で xml で直接作業したいと思います。
java - Java アプリから deploy-deploy:file を mvn する方法
java プログラムから maven-embedder 3.0.4 を使用してファイルをローカル リポジトリにデプロイしようとしていますが、次のエラーが発生します。
MavenCli.doMain(String[], String, PrintStream, PrintStream) 関数でこれを達成しようとしていますが、うまくいかないようです。
どんな助けでも大歓迎です。また、Java プログラムからファイルをデプロイする別の方法があれば教えてください。
java - ループ (maven-embedder) で MavenCli を実行するとエラーが発生しますか?
ループ内で maven コマンドを実行すると何が問題になりますか? 目標は、バンドルのリストの pom.xml のバージョンを更新することです。最初の繰り返しである maven は正しく実行されますが (pom.xml を更新)、その後のすべての項目でエラーが発生します。
コードと同じエラー:
初めて、それは大丈夫です:
エラーの後:
java - Maven エンベダーで Maven ビルドの失敗の原因を取得する
次のコードでmavenビルドを実行できます
基本的に、ビルドが成功した場合、result は 0 になり、そうでない場合は 1 になります。ビルドの失敗の原因を取得する方法はありますか?
java - MavenCli (maven-embedder) を介して Maven タスクを実行できない
MavenCli.doMain
プログラムでMaven Embedder 3.3.3を使用してMavenゴールをプログラムで実行していますが、メソッドを実行するたびに次のエラーが発生します:
-Dmaven.multiModuleProjectDirectory
システム プロパティが設定されていません。$M2_HOME
環境変数とmvn
スクリプトの一致を確認してください。
java - Maven Embedder - hibernate3:hbm2java をプログラムで実行
** アップデート **
エラーの再現を試み、最小限、完全、かつ検証可能な例を作成しようとしました。残念ながら、最初から再起動する手法を実行した後でも、自分でエラーを再現することさえできないようです...
hibernate3:hbm2java コマンドを手動で実行すると、アプリケーションが動作します。
それでも、プログラム的には機能しないようです。
アプリケーションを実行すると、巨大なエラー ログが表示されます。上の数行は次のとおりです。
私の設定をこのレポにプッシュしました。機能するには、pw: "password" を含む (in mem) MySQL データベースが必要です。
https://github.com/Weirdfishees/reverse-engineering.git
これが私の構成です:
ポンポン:
hibernate.cfg.xml
reveng.xml
そして、application.java
私の質問は同じままです。
上記の構成で hibernate3:hbm2java をプログラムで実行するにはどうすればよいですか?
-- 再現できませんが、追加情報 --
序章
こんにちはスタックオーバーフローユーザーの皆さん、Maven Embedder の使い方について質問があります。
実際のコード部分に要約する前に、私の質問の文脈を共有したいと思います。
ユーザーからの入力を受け取る GUI アプリケーション (javaFX) を構築しています。この入力に基づいて、アプリケーションは 2 つの hibernate 構成ファイル (hibernate.cfg.xml および reveng.xml) を動的に生成します。これらの構成ファイル (接続の詳細を提供する) に基づいて、次のアプリケーションの望ましい機能は、データベースを自動的に(ユーザーの操作なしで) リバース エンジニアリングし、すべてのテーブルの POJO クラスを作成することです (ボトムアップ開発)。
mvn hibernate3:hbm2java 引数を手動で実行すると (コマンド ラインを使用するか、単に eclipse で -> maven build.. -> 目標 mvn hibernate3:hbm2java として実行)、必要なすべてのクラスを含む目的のパッケージが作成されます。
ただし、目標は、手動で行うのではなく、mvn hibernate3:hbm2java をプログラムで実行することです。
リサーチ
次のオプションを試しました。
WindowsでJavaコードからMavenを実行していますか?
このオプションはエラーをスローしませんが、プログラムで何も起こらないようです (Eclipse でビューを更新した後、目的のクラスが存在しません...)
このオプションが機能する場合でも、アプリケーションのコンテキストにより、Maven Embedder を使用することを好みます (アプリケーションはクロスプラットフォームで使用されます)。
さらに、私は user3254289 からの回答を使用しないことを好み、 Maven Invoker を使用するよう提案しています。
質問
質問に対するMariuszSの回答に基づいて、Javaからmavenを実行する方法は?
アプリケーションを次のように構成しました。
pom の依存関係:
https://github.com/mariuszs/maven-cli-exampleから取得した次の(調整された)メソッドを使用
次のエラーが表示されます。
Maven 3.0.4 に基づく NoSuchMethod: ... java.lang.NoSuchMethodError: com.google.common.collect.ImmutableSet.copyOf(.. )
MAVEN_HOME 変数に関していくつかのチェックを実行しました。cmd と eclipse の両方で問題なく mvn コマンドを実行できるので、これらの設定は正しいと思います (間違っていたら訂正してください)。
メイヴン
ジャワ
このエラーを克服し、Java ランタイムから mvn hibernate3:hbm2java を自動的に起動するという私の目的を達成する方法を知っている人はいますか?
TL;DR
Maven Embedder を使用しているときに java.lang.NoSuchMethodError を修正するにはどうすればよいですか?
与えられた: