我有一個multimodule maven項目,其中一個模塊用於分發。有沒有一種使用maven來運行可執行jar的好方法?
Project \
| moduleA \
| moduleB \
| ...
| dist-module \
該發行版包含一個可執行的jar,我想輕鬆執行。然而,執行它,我必須鍵入類似:
java -jar dist-module/target/dist-module-1.0-SNAPSHOT-full-dist/myJar.jar
這將是相當最好只需鍵入:
mvn exec:java \ OR
mvn exec:exec
不幸的是,我無法找到一個方法來獲取Java目標執行一個.jar。 exec目標實際上會這樣做,但有一個問題:jar包含嵌入式jetty服務器,並且由於exec的工作方式(不使用與maven相同的JVM),服務器不終止,除非我終止進程手動,這同樣麻煩。
有關如何使用maven做到這一點的任何建議?
編輯:
爲了清楚起見,該命令將主要用於簡單的手動煙霧測試;讀取日誌輸出並確保程序在其分發環境中正確啓動。因此,它可能應該是一個阻止與ctrl-c終止服務器和maven的調用。
嵌入式服務器專門用於運行一些特定的應用程序,並且不會自動重新加載它們。所以,長久以來不需要讓服務器獨立於Maven運行。
碼頭的任務是什麼? – Nachtgold 2013-03-04 11:52:38
你可以附加有問題的exec:java目標定義嗎? – 2013-03-05 12:08:10
沒有好的方法,因爲maven是一個構建和部署工具。如果你的jar是構建過程的一部分,那麼爲它寫一個maven插件。如果你只是想用maven來運行你的應用程序,也許最好還是去想其他的東西。 – kan 2013-03-06 11:53:27