問題タブ [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.
maven - 引数でのMaven'exec:exec'の使用
Mavenでビルドして実行するように構成されたプロジェクトがあります。プロジェクトはプラットフォーム固有のネイティブライブラリに依存しており、これらの依存関係を管理するためにここにある戦略を使用しています。
基本的に、特定のプラットフォームの.dll
or.so
ファイルはjarにパッケージ化され、ターゲットプラットフォームを識別する分類子とともにMavenサーバーにプッシュされます。次に、maven-dependency-pluginは、プラットフォーム固有のjarを解凍し、ネイティブライブラリをターゲットフォルダーにコピーします。
通常、私はmvn exec:java
Javaプログラムを実行するために使用しますが、exec:java
Mavenと同じJVMでアプリケーションを実行するため、クラスパスを変更できません。ネイティブの依存関係をクラスパスに追加する必要があるため、mvn exec:exec
代わりに使用する必要があります。これは、pomの関連するスニペットです。
これは、アプリケーションのデフォルト構成では問題なく機能しますが、コマンドラインでいくつかのオプションのパラメーターを指定できるようにしたいと思います。理想的には、次のようなことをしたいと思います。
残念ながら、exec.args
変数を指定すると、pomにある引数(クラスパスを設定してアプリケーションを実行するために必要)が上書きされます。これを回避する方法はありますか?pomにあるものを上書きせずに、コマンドラインでいくつかのオプションの引数を指定するための最良の方法は何ですか?
maven - Mavenの相対パスからフルパスを取得する
Java以外のファイルを実行し、引数として別のファイルを渡すために、exec-maven-pluginを使用しています。${basedir}ディレクトリの上にあるフルパスを使用できる必要があります。フルパスを使用せずにそのようなディレクトリにアクセスするにはどうすればよいですか?
以下のコードを使用しても機能せず、次のcmd引数を出力します-
これはもちろん、コマンドライン引数としては無意味です。何か案は?
java - Maven exec プラグイン - ハードコーディングされた引数の後のコンソールからのユーザー引数
シンプルな RMI サーバーとクライアントを実装しています。サーバーのコードベースを毎回追加するという面倒な作業 (大量の端末肥大化テキスト) をスピードアップしたかったので、maven exec プラグインを使用することにしました。これが私のpom.xml
見た目の一部です。
mvn exec:exec
コンソールで実行すると、すべて問題ありません。たとえば、プログラムへの引数として rmiregistry ポートをユーザーに指定させたい場合に、問題が発生します。基本的に、POM ファイルで指定されたものに加えて、コンソールから追加の引数を追加したいと思います。私が見つけたすべてのソリューションは、コンソールから新しい引数を指定するときに、ハードコードされた引数を上書きしましたが、これは望ましくありません。どういうわけかこれを行うことは可能ですか?
java - Exec Plugin を使用して Maven ビルド中にデータベースに接続する
特定のプロファイルを使用するときに、Exec Maven プラグインを使用してメイン メソッドを実行しています。例えば:
この方法では、アプリケーション コードを使用してデータベースで操作を実行するコードを実行できるようにしたいと考えていますが、この時点ではデータベースは接続されていません。main()
私は通常、いくつかのサービス クラスのリソース インジェクションに spring を使用しますが、これも静的であるため不可能です。applicationContexts をロードし、アプリケーションをビルドして maven を介してプログラムを実行する方法はありますか?
process - exec-maven-plugin ブロック mvn verify で開始されたプロセス
次のように exec-maven-plugin を使用してサーバーを起動しています。
問題は、サーバープロセスの実行後にそこで停止することです。exec-maven-plugin ページで「exec:exec プログラムと Java プログラムを別のプロセスで実行」と表示されていますが、プロセスが他のプロセスをブロックしているようです。
何か私にできることはありますか?Process spawned by exec-maven-plugin が maven プロセスをブロックし、 Maven と Exec: forking a process? . この問題に対するプラットフォームに依存しない解決策はありますか?
追加の質問もあります: アプリケーションの startet を exec-maven-plugin で再び閉じるにはどうすればよいですか?
maven - 前回のビルド後にファイルが変更された場合にのみ Maven プラグインを実行できますか?
リソースの準備段階で maven-exec-plugin を使用して、後で jar にパッケージ化されるバイナリ ファイルを作成します。Exec は、Excel シートを読み取り、sqlite db を作成するスクリプトを起動します。
クリーンに実行しなくても、スクリプトは常に実行されるようになりました。次の場合にのみ実行されるようにプラグインを構成する方法:
出力ファイルが存在しません。
または出力ファイルは存在しますが、最終更新日はソース ファイルより古いです。