小編最近效應項目的要求,學習在idea上編寫項目。作為一個新手遇到問題也算是正常的,重要的是把它解決,get新技能。
編寫過maven工程的小伙伴們應該都知道怎么在eclipse中編譯maven工程:右鍵工程--> run as -->maven install。簡單明了。
但是在idea上maven工程有自己的窗口,而且窗口中的maven項目的目錄與project窗口中的目錄不一樣。小編在這里就分享一下自己的經驗。
1、打開maven項目窗口:工具欄-->Help-->Find Action,在彈出的窗口里的文本框輸入:maven projects

2、在打開的maven project窗口中,點擊YourProject->Lifecycle->package->Run Maven Build執行打包,生成的war默認在工程的target目錄下。

IDEA如何執行maven命令
在IDEA主界面左下角找到 Terminal 點擊進入,直接輸入想執行的命令即可。 
Exec Maven Plugin全面解析和使用示例
1.為什么使用exec?
現在的工程往往依賴 眾多的jar包,不像war包工程,對於那些打包成jar包形式的本地java應用來說,通過java命令啟動將會是一件極為繁瑣的事情,原因很簡單,太 多的依賴讓參數-classpath變得異常的恐怖。為此,在發布應用時,一般使用兩種方法來啟動應用程序:一種是通過工具將工程及其所有依賴的jar包 打包成一個獨立的jar包(在maven里有兩個插件assemly和shade是用來完成這種工作的);另一種方法是編寫一個run.bat文件,文件 包含一個啟動應用的java命令,很顯然,這個命令的classpath必須包含全部依賴的jar包。但是對於尚處在開發階段的應用來說,第一種方法需要 將所有jar包解壓再重新打包,因此非常耗時,特別是工程非常大的時候。第二種方法的問題在於,對處在開發階段的工程,經常需要引入或升級jar包,這就 需要頻繁地修改run.bat文件。實際上,對於使用maven管理的工程,完全可以通過maven來獲取工程的classpath,簡化應用程序的啟動 命令,這正是maven插件exec被設計出來的主要動機。使用exec比使用java命令去啟動應用程序最大的優勢就在於:你不需要再去為-classpath而傷腦筋了。
2. exec:exec和exec:java的區別
exec 主要由兩個goal組成:exec:exec和exec:java。你應該如何選擇呢?首先,你需要記住,exec:exec總是比exec:java強 大而靈活,這一點會在后面的示例中體現出來,除此之外,兩者的主要區別是在線程管理上:exec:exec總是啟動一個新的線程,並且在只剩下守護線程的 時候從VM上退出(關閉應用程序)。而對於exec:java,當所有非守護線程結束時,守護線程會被joine或interrupt,應該程序不會關 閉。但是對於一般的使用者來說,這種差別並不重要。對於兩者的選擇,一般來說,如果你的工程啟動非常簡單,不需要設置jvm參數、系統屬性、命令行參數, 那么就用exec:java,你只需要指定一下mainClass,一切就OK了。
---------------------
