exec プラグインを使用して Java アプリケーションを実行する場合と、Java コマンドラインを使用して実行する場合で、パフォーマンスに大きな違いはありますか? 例えば
mvn exec:java -Dexec.mainClass="FixTradeTest"
対
java FixTradeTest
exec プラグインを使用して Java アプリケーションを実行する場合と、Java コマンドラインを使用して実行する場合で、パフォーマンスに大きな違いはありますか? 例えば
mvn exec:java -Dexec.mainClass="FixTradeTest"
対
java FixTradeTest
exec プラグインは、maven が実行されている同じ JVM 内でプログラムを実行します。maven と Java コマンド ラインの両方に同じ JVM フレーバーを使用すると仮定すると、それがすべての場合に大きな違いはないはずです。
ビルドを実行していて、最終的にこの Java クラスを実行する場合は、JVM を 1 回起動することになりますが、maven の場合は 1 回、プログラムの場合は 1 回です。一方で、プログラムの動作に影響を与えるプロパティを JVM に設定するリスクがあります。
まだチェックしていない場合は、これをチェックしてください (プレーン コマンド ラインと比較した違いを探してください)。
まあ、 Maven と同じ JVM で実行されるため、Maven は実際にクラスを実行する前にいくつかの操作を実行するためmvn exec:java ...
、実行が常に少し速くなるという事実を除いて、大きな違いはありません。java my.MyClass