Java開(kāi)發(fā)+Intellij-idea+Maven+工程構(gòu)建
Intellij-idea是一款流行的Java集成開(kāi)發(fā)環(huán)境,它支持Maven作為項(xiàng)目管理和構(gòu)建工具。Maven可以幫助開(kāi)發(fā)者自動(dòng)下載項(xiàng)目依賴(lài)的jar包,執(zhí)行編譯、測(cè)試、打包等生命周期任務(wù)。本資源將介紹如何在Intellij-idea中創(chuàng)建、導(dǎo)入、轉(zhuǎn)換和編譯Maven工程,以及如何配置Maven的相關(guān)參數(shù)和插件。本資源適合對(duì)Java開(kāi)發(fā)和Maven感興趣,想要在Intellij-idea中使用Maven進(jìn)行工程構(gòu)建的開(kāi)發(fā)者、學(xué)生、老師等人群。本資源的使用場(chǎng)景和目標(biāo)是:在Intellij-idea中使用Maven來(lái)管理和構(gòu)建Java工程,提高開(kāi)發(fā)效率和質(zhì)量。
最近效應(yīng)項(xiàng)目的要求,學(xué)習(xí)在idea上編寫(xiě)項(xiàng)目。作為一個(gè)新手遇到問(wèn)題也算是正常的,重要的是把它解決,get新技能。
編寫(xiě)過(guò)maven工程的小伙伴們應(yīng)該都知道怎么在eclipse中編譯maven工程:右鍵工程–> run as -->maven install。簡(jiǎn)單明了。
但是在idea上maven工程有自己的窗口,而且窗口中的maven項(xiàng)目的目錄與project窗口中的目錄不一樣。在這里我就分享一下自己的經(jīng)驗(yàn)。
1、打開(kāi)maven項(xiàng)目窗口:工具欄–>Help–>Find Action,在彈出的窗口里的文本框輸入:maven projects
2、在打開(kāi)的maven project窗口中,點(diǎn)擊YourProject->Lifecycle->package->Run Maven Build執(zhí)行打包,生成的war默認(rèn)在工程的target目錄下。
IDEA如何執(zhí)行maven命令
在IDEA主界面左下角找到 Terminal 點(diǎn)擊進(jìn)入,直接輸入想執(zhí)行的命令即可。
Exec Maven Plugin全面解析和使用示例
1.為什么使用exec?
現(xiàn)在的工程往往依賴(lài)
眾多的jar包,不像war包工程,對(duì)于那些打包成jar包形式的本地java應(yīng)用來(lái)說(shuō),通過(guò)java命令啟動(dòng)將會(huì)是一件極為繁瑣的事情,原因很簡(jiǎn)單,太
多的依賴(lài)讓參數(shù)-classpath變得異常的恐怖。為此,在發(fā)布應(yīng)用時(shí),一般使用兩種方法來(lái)啟動(dòng)應(yīng)用程序:一種是通過(guò)工具將工程及其所有依賴(lài)的jar包
打包成一個(gè)獨(dú)立的jar包(在maven里有兩個(gè)插件assemly和shade是用來(lái)完成這種工作的);另一種方法是編寫(xiě)一個(gè)run.bat文件,文件
包含一個(gè)啟動(dòng)應(yīng)用的java命令,很顯然,這個(gè)命令的classpath必須包含全部依賴(lài)的jar包。但是對(duì)于尚處在開(kāi)發(fā)階段的應(yīng)用來(lái)說(shuō),第一種方法需要
將所有jar包解壓再重新打包,因此非常耗時(shí),特別是工程非常大的時(shí)候。第二種方法的問(wèn)題在于,對(duì)處在開(kāi)發(fā)階段的工程,經(jīng)常需要引入或升級(jí)jar包,這就
需要頻繁地修改run.bat文件。實(shí)際上,對(duì)于使用maven管理的工程,完全可以通過(guò)maven來(lái)獲取工程的classpath,簡(jiǎn)化應(yīng)用程序的啟動(dòng)
命令,這正是maven插件exec被設(shè)計(jì)出來(lái)的主要?jiǎng)訖C(jī)。使用exec比使用java命令去啟動(dòng)應(yīng)用程序最大的優(yōu)勢(shì)就在于:你不需要再去為-classpath而傷腦筋了。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-791036.html
2. exec:exec和exec:java的區(qū)別
exec
主要由兩個(gè)goal組成:exec:exec和exec:java。你應(yīng)該如何選擇呢?首先,你需要記住,exec:exec總是比exec:java強(qiáng)
大而靈活,這一點(diǎn)會(huì)在后面的示例中體現(xiàn)出來(lái),除此之外,兩者的主要區(qū)別是在線(xiàn)程管理上:exec:exec總是啟動(dòng)一個(gè)新的線(xiàn)程,并且在只剩下守護(hù)線(xiàn)程的
時(shí)候從VM上退出(關(guān)閉應(yīng)用程序)。而對(duì)于exec:java,當(dāng)所有非守護(hù)線(xiàn)程結(jié)束時(shí),守護(hù)線(xiàn)程會(huì)被joine或interrupt,應(yīng)該程序不會(huì)關(guān)
閉。但是對(duì)于一般的使用者來(lái)說(shuō),這種差別并不重要。對(duì)于兩者的選擇,一般來(lái)說(shuō),如果你的工程啟動(dòng)非常簡(jiǎn)單,不需要設(shè)置jvm參數(shù)、系統(tǒng)屬性、命令行參數(shù),
那么就用exec:java,你只需要指定一下mainClass,一切就OK了。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-791036.html
到了這里,關(guān)于Java開(kāi)發(fā)+Intellij-idea+Maven+工程構(gòu)建的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!