2012-07-03 40 views
0

當使用exec插件運行java應用程序vs使用java命令行運行時,性能有很大差異嗎? 例如Java mvn exec性能

mvn exec:java -Dexec.mainClass="FixTradeTest" 

VS

java FixTradeTest 
+1

我不會假設有一個重大的區別,除非你另有所見。我假設啓動時間稍長一些。 –

回答

0

Exec插件運行在同一個JVM內部的Maven是程序中運行,假設你使用相同的JVM味兩種Maven和你的java命令行,不應該有一個很大的不同如果這就是你所做的

如果您正在運行構建並最終運行此java類,那麼您將啓動一次JVM,一次爲maven,一次爲您的程序啓動。另一方面,您有可能在JVM上設置影響程序行爲的屬性。

檢查this如果您還沒有(查找與純命令行相比的差異)。

+0

另一個區別是它改變了UncaughtExceptionHandler的行爲。這對我來說是一個難題。 –

0

那麼,因爲mvn exec:java ...將運行在與Maven相同的JVM中,所以除了運行java my.MyClass總是稍微快一點之外,沒有什麼區別,因爲Maven在實際運行之前會執行一些操作班上。