問題タブ [exec-maven-plugin]
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.
java - Maven を使用してデプロイされたアーティファクトからメイン クラスを実行する
理解できません。Maven exec プラグインを使用するように pom.xml をセットアップしたので、正しいクラスパス、-D 定義、および -javaagent を使用してプロジェクト内のいくつかのクラスを実行できます。したがって、./target/classes などに組み込まれたクラスを含むシェルから..次を使用して main() メソッドを実行できます。
これまでのところすべて順調です。
今、私は自分のプロジェクト (jar アーティファクト) を出荷したいのですが、pom.xml に入れた構成を使用して、正しい引数などでクラスを実行できるようにしたいと考えています。どうすればよいですか? 滞在する方法はありますか
私が持っているのは MyArtifact.jar (または MyArtifact.jar を含む Maven リポジトリ) だけですか??
私は次のことを試しました:
dependency:get ゴールで jar を取得し、解凍します。pom.xml がアーティファクト jar の META-INF/maven で終わるように見えるので、私はそれで何もできません。それを使用する方法はありますか?
プロジェクトのアーティファクトに単一の依存関係を使用してプロジェクトを実行するダミーの pom を作成します。その後、exec:java を使用してメイン クラスを実行できますが、プロジェクト pom の構成は使用されません。
ありがとう。
maven-2 - Maven子モジュールのビルドをスキップする方法
私は次のようなプロジェクトを持っています
プロジェクトで mvn clean install を実行すると、すべてのトップモジュールとサブモジュールがビルドされます。しかし、私はmavenがchild1、child2を実行しないようにしたい. どうすればそれができますか。プロファイルを使用すると、それができることがわかりました。しかし、どのように?child1、child2がmavenフェーズから除外されるように、submodule1 pomで何かできますか?
java - マルチモジュール プロジェクトの Maven exec:java ゴール
1つのモジュールが他のモジュールに依存する単純な 2 モジュール プロジェクトでexec-maven-plugin
の目標を実行しようとしています。exec:java
これまでのところ、機能する構成が見つかりません。要約したテスト ケースを次に示します。
親ポンは次のとおりです。
module1
のポン:
module2
のpom:4.0.0
このプロジェクトは最初から正常にコンパイルされますが、実行mvn exec:java -Dexec.mainClass=myMain
は失敗します。
exec:java
このプロジェクトを構成して表示できるようにする正しい方法は何MyMain
ですか?
編集:これを自分で試してみたい場合の要点は次のとおりです: https://gist.github.com/2950830
編集: 明確化:のディレクトリからmvn install
実行するか、上部のフラグを使用することが可能であることを知っています。ただし、実行は避けたいと思います。マルチモジュール プロジェクトでこの目標を実行するために、ローカル リポジトリを変更する必要はありません。マルチモジュールプロジェクトで「うまく機能する」のと同じように、他の目標/フェーズもそうです。exec:java
module2
-pl
mvn install
mvn compile
maven - Maven を使用して現在の (最上位) ディレクトリでファイルを実行する方法は?
で正常にビルドできるプロジェクトがありmvn clean install
ます。mvn exec:java コマンドを使用して、POM の「mainClass」を次のように完全修飾することで、src/com/mycompany/myproject/ フォルダーに含まれるスクリプトを実行することもできます。
しかし、プロジェクトの最上位フォルダー、つまり pom.xml ファイルを含む同じフォルダーに含まれるスクリプトを実行したいと考えています。このクラスは、構築中のプロジェクトの機能を示すサンプル アプリケーションであり、実際にはプロジェクト自体の一部ではないため、src/com/mycompany/myproject に含まれていません。mainClass を単純に入力すると<mainClass>MyClassInCurrentFolder</mainClass>
、それが見つかりません。
src/com/mycompany/myproject/ の下にこのクラスのみを含み、他のプロジェクトを依存関係として使用する、まったく別の Maven プロジェクトを作成できると思います。しかし、私はそれをしたくありません。結局のところ、これはプロジェクトの非常に単純なデモ アプリケーションにすぎません。
Maven を使用して最上位フォルダーでこのファイルを実行する方法についてのアイデアはありますか?
maven - コンソール出力をmavenのファイルに追加する方法は?
特定のテストを実行するために exec-maven-plugin を使用しています。コンソールを非表示にせずに、テストのコンソール出力をファイルに追加したいと考えています。
タスクに対して maven で提供されるサポートはありますか?
テストを開始する前に、maven-antrun-plugin を使用してレコーダー タスクを実行しました。それはうまくいきませんでした。
「tee」コマンドを使用して、exec-maven-plugin を使用して実行しました。それもうまくいかないようです。
mavenでlog4jを使用して確認しました。しかし、私はlog4jのロギングが初めてなので、問題をデバッグできませんでした。
それを行う他の方法はありますか?
java - maven exec プラグインの exec と java の両方の目標を定義できますか?
Maven exec プラグインを使用していくつかのタスクを実行しようとしています。1 つは、スクリプトを実行して、アプリが使用する外部データを生成することです。2 つ目は、コンパイル段階で便利な作業を行うために Java コードのチャンクを実行することです。
しかし、私が実行すると:
エラーが発生します:
または、パラメーター「mainClass」が見つからないか無効であるという同様のエラー。
maven - コンパイル段階で exec-maven-plugin がダウンロードされていることを確認します
Java アプリケーションへのさまざまなエントリに複数の Linux bash スクリプトを使用する Maven プロジェクトがあります。exec-maven-plugin でこれを解決したので、スクリプトは通常 mvn -e -o -q exec:exec -Dexec.executable="java" -Dexec.args="..." のようになります。何らかの理由で、オフライン フラグ (-o) を使用するように制限されています。
私の質問は次のとおりです。コンパイル段階で exec-maven-plugin がダウンロードされるようにするにはどうすればよいですか? 開発者が exec-maven-plugin をダウンロードしていない可能性があります。exec-maven-plugin は maven オフライン フラグとともに使用されるため、存在しない場合はダウンロードされません。
maven - Maven execプラグインを使用してWindowsバッチスクリプトを起動すると、スクリプトが「開始」を使用している場合でもビルドがブロックされます
カスタムコンテナの上にアプリケーションのデプロイの統合テイスティングを実行しようとしています。私のコンテナーはカスタムであるため、MavenCargoプラグインを使用してコンテナーをセットアップすることはできません。
私のコンテナ:
- テストが実行されるマシンのパスにある適切なbatファイルを介して開始する必要があります。
- すべての統合テストを含む単一のMavenモジュールがあるため、テストの完了後にプロセスをシャットダウンする方法を知りたい場合でも、手動で閉じることができます。
私の問題は、テストの実行中はコンテナを実行し続ける必要があるため、コンテナを別のプロセスで実行する必要があることです。さらに、テストには、コンテナーの準備ができるまで待機できるAPIがあります(タイムアウトを伴う一種のルックアップ)。
pom.xmlに次の行を追加しました
これにより、スクリプトが呼び出されます。このスクリプトには、
gs-agent.batの呼び出しを開始します
ただし、mvn execプラグインがスタックし、テストが実行されません。Javaアプリケーションからバッチファイルを実行するにはどうすればよいですか?、pom.xmlを次のように変更しました。
しかし、これは問題を解決していないようです:
cxf - apache-cxf クライアントは exec-maven-plugin で動作しますが、外部からは動作しません
Java で WS クライアントを作成しようとすると問題が発生します。
私が使用しているライブラリはapache-cxf 2.12です。これは古いバージョンですが、既に実行されている Spring 2.5.6 を使用する JBoss アプリケーションに Web サービスを追加したいので、このorg.apache.cxfバージョンは同じ spring バージョンを使用します。
しかし、問題は (非常に一般的であり、maven、netbeans、および apache-cxf に関連していることはわかっています)
クライアント プロジェクト (maven プロジェクト) を netbeans から実行すると、問題なく動作します。このクラスをスクリプト (ボット Windows と Linux) で実行しようとすると、次のエラーが表示されます。
「次のエラーで呼び出しが失敗しました: org.apache.cxf.ws.policy.PolicyException: ポリシーの代替手段のどれも満たすことができません。」
Java のバージョンは同じです。すべての依存関係の jar ファイルを lib ディレクトリにコピーし、%classpath% に追加しました。
では、サンプル プログラムを maven org.codehaus.mojo:exec-maven-plugin:1.2.1:execで実行すると機能し、srcipt で実行すると機能しないという違いは何ですか? (すべての依存関係、Java バージョンなどを確認しました ...)
JAX-WS o JCE (Java Cryptography Architecture) の初期化に関連しているに違いないと思います。
java.exe の実行時に %classpath maven が作成しているものを確認する方法はありますか?
動作する Maven スクリプト:
ありがとう
eclipse - zip パッケージ化前の Maven maven-exec-plugin の実行
私は Maven+Tycho Eclipse RCP アプリケーションを構築しています。製品が zip に圧縮される前、およびリポジトリ/バイナリで配布するためにバイナリが圧縮される前に、OS X でコードサイン maven-exec-plugin を実行したいと考えています。
ということで、コンパイルとパッケージングの中間くらいがいいのかなと思いますが、試行錯誤ばかりで苦労しています。どのライフサイクル ビルド フェーズに関連付ける必要がありますか?
現在、私の maven-exec-plugin は次のようになっています (アプリはコード署名されますが、zip が既に作成された後です)。