亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

一文秒懂IDEA中每天都在用的Project Structure知識(shí)

瀏覽:6日期:2024-08-08 16:45:47

Idea這款開(kāi)發(fā)工具的便利之一是很多配置項(xiàng)幾乎可直接使用默認(rèn)項(xiàng)。但針對(duì)不同的項(xiàng)目難免需要針對(duì)性的配置,本文帶大家詳細(xì)的梳理一遍Project Structure中各項(xiàng)功能,注意收藏,以備不時(shí)之需。

先說(shuō)一下寫(xiě)本文的緣由,在項(xiàng)目中用Idea中打開(kāi)一組SpringBoot項(xiàng)目,結(jié)果編譯的結(jié)果和日志輸出的地方與預(yù)期不一致,于是仔細(xì)研究了Project Structure的配置項(xiàng),發(fā)現(xiàn)此處竟然有很多有用的功能,匯總分享給大家。

Project Structure即“項(xiàng)目結(jié)構(gòu)”,它幾乎涵蓋了一個(gè)項(xiàng)目所有的個(gè)性化的配置項(xiàng),包括Modules,F(xiàn)acets,Libraries, Artifacts和SDK等板塊的功能。

一文秒懂IDEA中每天都在用的Project Structure知識(shí)

打開(kāi)項(xiàng)目結(jié)構(gòu)的方式

開(kāi)啟項(xiàng)目結(jié)構(gòu)配置有兩種方式,一種方式是點(diǎn)擊上圖①位置的圖標(biāo)便可直接打開(kāi)相關(guān)的配置界面。

另外一種方式便是通過(guò)快捷鍵打開(kāi)。Windows操作系統(tǒng),默認(rèn)快捷鍵為“Ctrl+Shift+Alt+S”;Mac操作系統(tǒng)默認(rèn)快捷鍵為“command + ;”組合。

第一種方式如果找不到對(duì)應(yīng)配置,教大家一個(gè)使用Idea時(shí)的一個(gè)大招:“Help”搜索。

一文秒懂IDEA中每天都在用的Project Structure知識(shí)

點(diǎn)開(kāi)Help菜單,輸入Project關(guān)鍵字進(jìn)行搜索,默認(rèn)會(huì)匹配到所有與Project關(guān)鍵字相關(guān)的選項(xiàng),當(dāng)鼠標(biāo)移動(dòng)到對(duì)應(yīng)結(jié)果上時(shí),左邊會(huì)自動(dòng)顯示對(duì)應(yīng)內(nèi)容所在的菜單位置,當(dāng)然你也可以直接點(diǎn)擊打開(kāi)。

不僅此處可以如此操作,大多數(shù)操作都可以如此,是不是用起來(lái)非常爽!

Project配置項(xiàng)

一般情況下,打開(kāi)之后第一個(gè)默認(rèn)選中的顯示內(nèi)容便是Project了。重點(diǎn)看一下圖中的1、2、3、4項(xiàng)。

一文秒懂IDEA中每天都在用的Project Structure知識(shí)

第一項(xiàng),Project name,項(xiàng)目名。就個(gè)人而言,一般會(huì)將此處的項(xiàng)目名與項(xiàng)目目錄名和pom文件中的name三處保持一致。避免不一致,同時(shí)也避免IDEA在左側(cè)會(huì)顯示多個(gè)名稱(chēng)標(biāo)識(shí)。

如果打開(kāi)的是一組項(xiàng)目,比如都說(shuō)springboot的項(xiàng)目,此處本人會(huì)改為類(lèi)似springboot-all這樣的名稱(chēng),而不是其中一個(gè)(默認(rèn)是第一個(gè))項(xiàng)目的名稱(chēng)。

第二項(xiàng),Project SDK。配置項(xiàng)目的SDK使用,這項(xiàng)平時(shí)使用的比較多,比如新打開(kāi)一個(gè)項(xiàng)目,要查看一下SDK版本是否與預(yù)期的一致。也可以在右邊的Edit進(jìn)行SDK的編輯。

此處點(diǎn)擊編輯會(huì)跳到Platform Settings中的SDKs處進(jìn)行操作。此處看一下圖,操作比較簡(jiǎn)單,就不展開(kāi)了。

一文秒懂IDEA中每天都在用的Project Structure知識(shí)

第三項(xiàng),Project language level。選擇要支持的Java語(yǔ)言級(jí)別。如果是多個(gè)Module(可以理解為一組項(xiàng)目)的話,對(duì)所有Module生效。

不同的JDK版本選擇,對(duì)代碼的語(yǔ)法有一定的影響,比如選擇JDK8以前的版本,那么代碼中有基于Lambda的語(yǔ)法將會(huì)報(bào)錯(cuò)。目前使用最多的當(dāng)屬JDK8了,當(dāng)然如果你的項(xiàng)目比較古老或比較新,也可以選擇其他的版本。

第四項(xiàng),Project compiler output。指定IntelliJ IDEA將存儲(chǔ)編譯結(jié)果的路徑。

開(kāi)篇時(shí)說(shuō)的問(wèn)題就在此。針對(duì)單個(gè)項(xiàng)目,可以在配置一個(gè)輸出路徑,同時(shí)也可以在后面提到的Module中進(jìn)行獨(dú)立配置。

但對(duì)于多個(gè)Module項(xiàng)目時(shí),會(huì)出現(xiàn)大家共用一個(gè)output目錄。此時(shí)如果輸出的日志文件路徑用“./log”這種形式時(shí),日志可能并不會(huì)打印到其中的子項(xiàng)目中,而是輸出在此處指定的路徑下了。

Modules配置項(xiàng)

Modules中的配置用的比較多的情況就是一組項(xiàng)目時(shí),可以配置獨(dú)立每個(gè)項(xiàng)目的參數(shù)。包括項(xiàng)目名稱(chēng),目錄結(jié)構(gòu),輸出路徑,依賴等。

一文秒懂IDEA中每天都在用的Project Structure知識(shí)

下面分析一下圖中標(biāo)注的四項(xiàng)內(nèi)容,其中第三和第四項(xiàng)屬于Source選項(xiàng)的子項(xiàng)。

第一項(xiàng),加號(hào)可以導(dǎo)入、新增各類(lèi)Module項(xiàng)目,當(dāng)然后面的減號(hào)可以移除對(duì)應(yīng)的項(xiàng)目。

第二項(xiàng),項(xiàng)目名稱(chēng),使用方式與前面的一致,也同樣建議多處保持一致。

第三項(xiàng),JDK版本,與Project中一樣,但此處針對(duì)的是當(dāng)前Module。

第四項(xiàng),項(xiàng)目目錄結(jié)構(gòu)。對(duì)Module的開(kāi)發(fā)目錄進(jìn)行文件夾分類(lèi),不同類(lèi)型的文件進(jìn)行指定的文件類(lèi)型。上面分了Sources、Test、Resources、Test Resources、Excluded。

顧名思義,Sources放的是Java源碼,Test放的是測(cè)試的源碼,Resources放的是資源文件,Test Resources放的是測(cè)試使用的資源文件,Excluded是排除項(xiàng)(比如編譯后的trarget目錄)。

此處使用比較多的場(chǎng)景是新增文件夾。右擊一個(gè)頂層目錄,彈出“New Folder”創(chuàng)建目錄,隨后可以對(duì)新增的文件夾進(jìn)行類(lèi)型指定。常見(jiàn)的情況比如創(chuàng)建的項(xiàng)目沒(méi)有test或Test Resources,可在此處進(jìn)行添加目錄,然后指定目錄類(lèi)型。

與Sources選項(xiàng)平級(jí)的還有Paths和Dependencies。這兩項(xiàng)操作都比較簡(jiǎn)單,Paths用來(lái)指定編譯輸出路徑。

一文秒懂IDEA中每天都在用的Project Structure知識(shí)

一般采用默認(rèn)值即可。其中,Inherit projecty compile output path繼承項(xiàng)目編譯輸出路徑,使用為項(xiàng)目指定的路徑。即在Project選項(xiàng)中設(shè)置的out文件路徑。

Use module compile output path,使用模塊編譯輸出路徑;Output path為編譯輸出路徑;Test output path為測(cè)試代碼編譯輸出路徑。

下面的JavaDoc使用可用控件組合與模塊關(guān)聯(lián)的外部JavaDocs存儲(chǔ)位置的列表。不常用,就不具體演示了。

另外一個(gè)是Dependencies,主要配置jar包依賴相關(guān)的內(nèi)容。

一文秒懂IDEA中每天都在用的Project Structure知識(shí)

這里同樣可以配置JDK,還可以通過(guò)下面的加號(hào)引入其他依賴,同時(shí)還可以配置對(duì)應(yīng)jar包所對(duì)應(yīng)的Scope。

上面講解了多處JDK配置的選項(xiàng),如果在實(shí)戰(zhàn)過(guò)程中出現(xiàn)JDK版本修改或不一致的問(wèn)題,建議從頭到尾查看一下各處JDK的版本是否有問(wèn)題。

Libraries選項(xiàng)配置

Libraries選項(xiàng)卡里,可以定義模塊SDK并形成模塊依賴關(guān)系列表。

一文秒懂IDEA中每天都在用的Project Structure知識(shí)

通過(guò)加號(hào)里面的操作可以創(chuàng)建一個(gè)新的項(xiàng)目庫(kù),可以設(shè)置分類(lèi),可以刪除等操作。

Facets選項(xiàng)配置

Facets選項(xiàng)主要用來(lái)表示module的特征,比如Web、Spring、Hibernate等。

一文秒懂IDEA中每天都在用的Project Structure知識(shí)

Artifacts選項(xiàng)配置

Artifact是maven中的一個(gè)概念。這里表示module打包成什么形式,比如:war exploded、war、jar等;

一文秒懂IDEA中每天都在用的Project Structure知識(shí)

這種形式在基于SpringBoot項(xiàng)目時(shí)很少使用了,基于Web打war包的形式時(shí)使用的比較多。

其中web項(xiàng)目有exploded類(lèi)型,這里可理解為不歸檔的意思,也就直接把文件夾、jsp頁(yè)面、classes進(jìn)行部署到容器里面。建議在開(kāi)發(fā)時(shí)使用此模式,便于熱部署。

默認(rèn)情況下,IDEA的Modules和Artifacts的output目錄 已設(shè)置好,不需要更改。打war包時(shí)會(huì)自動(dòng)在WEB-INF目錄下生成classes目錄,并把編譯后的文件放進(jìn)去。

其他選項(xiàng)

關(guān)于其他選項(xiàng)就不多說(shuō)了,不太常用。其中,SDKs選項(xiàng)為系統(tǒng)開(kāi)發(fā)工具,全局SDK配置,新增JDK版本什么的都可以在此配置。Global libraries是全局類(lèi)庫(kù),可以配置一些常用的類(lèi)庫(kù)。Problems在項(xiàng)目異常的時(shí)可以根據(jù)提示進(jìn)行項(xiàng)目修復(fù)(FIXED)。

小結(jié)

因項(xiàng)目實(shí)戰(zhàn)過(guò)程中的一個(gè)問(wèn)題,研究拓展出整個(gè)Project Structure相關(guān)的知識(shí)體系,這也是一個(gè)思維和學(xué)習(xí)的模式。關(guān)注公眾號(hào)“程序新視界”,為你提供更多類(lèi)似的實(shí)戰(zhàn)經(jīng)驗(yàn)和知識(shí)積累。

到此這篇關(guān)于一文秒懂IDEA中每天都在用的Project Structure知識(shí)的文章就介紹到這了,更多相關(guān)IDEA Project Structure內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: IDEA
相關(guān)文章:
主站蜘蛛池模板: 久久午夜国产片 | 台湾亚洲精品一区二区tv | 亚洲人成在线免费观看 | 国产成人短视频在线观看免费 | 欧美日韩亚洲一区二区 | 日韩精品首页 | 一本久道久久综合狠狠爱 | 久草在线综合 | 中文精品久久久久国产不卡 | 美女制服一二三区 | 日韩美一区二区三区 | 在线观看成年美女黄网色视频 | 久久亚洲国产欧洲精品一 | 国产一精品一av一免费爽爽 | 福利片视频区 | 国产区在线观看视频 | 在线不卡一区二区三区日韩 | 亚洲欧洲视频在线观看 | 一区在线观看 | 国产一级片视频 | 伊人热人久久中文字幕 | 色播视频在线观看免费 | 精品欧美小视频在线观看 | 免费网站看v片在线观看 | 女人洗澡一级毛片一级毛片 | 欧美成人高清免费大片观看 | 中文字幕日本一级高清片 | 国产一区视频在线 | 青草视频免费在线观看 | 亚洲国产激情在线一区 | 久热这里只精品99re8久 | 久草视频福利在线观看 | 亚洲精品第五页中文字幕 | 一级黄色片黄色片 | 免费视频不卡一区二区三区 | 日本888xxxx| 国产黄色在线视频 | 尤物视频在线免费 | 日本一级大黄毛片一级 | 综合网色 | 五月婷婷亚洲综合 |