source root
idea 會(huì)編碼該目錄下的Java文件
錯(cuò)誤: Java class located out of the source root 表示該類文件沒有在source root 下池充。
緩存和索引
idea 依靠緩存和索引提供更快的查找和代碼提示等鸵熟,當(dāng)斷電或藍(lán)屏重啟時(shí),會(huì)損壞緩存和索引爽蝴,解決方法:
File -> Invalidate and Restart 會(huì)清空緩存和索引
或者
刪除system目錄,重啟idea會(huì)重新生成緩存和索引
編譯
idea 的編譯更手動(dòng)化蜒什,也可以設(shè)置為自動(dòng)編譯(settings -> compiler -> make project automatically)
- Compile:對(duì)選定的目標(biāo)(Java 類文件)邦尊,進(jìn)行強(qiáng)制性編譯,不管目標(biāo)是否是被修改過米酬。
- Rebuild:對(duì)選定的目標(biāo)(Project),進(jìn)行強(qiáng)制性編譯趋箩,不管目標(biāo)是否是被修改過赃额,由于 Rebuild 的目標(biāo)只有 Project,所以 Rebuild 每次花的時(shí)間會(huì)比較長(zhǎng)叫确。
- Make:使用最多的編譯操作跳芳。對(duì)選定的目標(biāo)(Project 或 Module)進(jìn)行編譯,但只編譯有修改過的文件竹勉,沒有修改過的文件不會(huì)編譯飞盆,這樣平時(shí)開發(fā)大型項(xiàng)目才不會(huì)浪費(fèi)時(shí)間在編譯過程中。
project 和 module
- project 項(xiàng)目IDEA的最高組織單元,代表一個(gè)完成的軟件系統(tǒng)吓歇,它是用來提供基本的coding assistance, bulk refactoring, coding style consistency, etc孽水。項(xiàng)目不包含項(xiàng)目代碼、構(gòu)建腳本城看、文檔等女气,它包含項(xiàng)目需要的module和libraries
- module module是一個(gè)獨(dú)立的功能單位,它可以被編譯析命、運(yùn)行和測(cè)試。module包含源碼逃默、構(gòu)建腳本鹃愤、測(cè)試單元、部署說明完域、文檔软吐,module自能存在一project中,通過.iml描述配置信息吟税。開發(fā)團(tuán)隊(duì)通常通過版本控制中心分享.iml module文件
項(xiàng)目格式文件
有兩種:
idea (directory based) 創(chuàng)建項(xiàng)目的時(shí)候自動(dòng)創(chuàng)建一個(gè) .idea 的項(xiàng)目配置目錄來保存項(xiàng)目的配置信息凹耙。這是默認(rèn)選項(xiàng)。
ipr (file based) 創(chuàng)建項(xiàng)目的時(shí)候自動(dòng)創(chuàng)建一個(gè) .ipr 的項(xiàng)目配置文件來保存項(xiàng)目的配置信息肠仪。
idea項(xiàng)目的配置都是以xml文件來表現(xiàn)肖抱,如.idea或.iml等,所以我們?cè)陧?xiàng)目協(xié)同時(shí)可以將這些配置文件提交到版本控制中心异旧,但在checkout項(xiàng)目之后意述,本地進(jìn)行項(xiàng)目配置后不要把變化提交到版本控制系統(tǒng)。
git的問題
問題一: Can't update: no tracked branch
解決方式:在git-shell中項(xiàng)目對(duì)應(yīng)的目錄下吮蛹,運(yùn)行g(shù)it branch --set-upstream-to origin/master master 荤崇,然后再回到idea更新
問題二: 輸錯(cuò)密碼后,驗(yàn)證登錄框沒有再出現(xiàn)