關(guān)于這種操作,真的是面試十個(gè)人有九個(gè)答不上來,你不要看百度上寫了那么多千篇一律的文章,實(shí)際上解決能解決問題的少之又少,關(guān)鍵的是我們通過不斷地踩坑,形成自己的文檔,這個(gè)才是最重要的,也許后面會(huì)不斷地踩坑,所以這篇文章也會(huì)一直地更新下去
idea啟動(dòng)eclipse項(xiàng)目的背景
- 公司有部分老項(xiàng)目,年久失修,又在服務(wù)器上跑;
- 很多用idea的小伙伴已經(jīng)不會(huì)再回去用eclipse了;
- 其實(shí)很多小伙伴連項(xiàng)目怎么跑起來都不會(huì);
分析自己的問題
- 哪一種原因?qū)е马?xiàng)目無法啟動(dòng);
- 代碼報(bào)錯(cuò)還是編譯不通過;
- jdk的版本是否設(shè)置正確;
- 是否是需要添加Tomcat的SSM項(xiàng)目;
- 數(shù)據(jù)庫是否配置正確;
開工
1.首先 , 我們先要導(dǎo)入項(xiàng)目 - >
如果不知道怎么操作的可以考慮轉(zhuǎn)行
2.然后選擇Open -> 選擇你的項(xiàng)目 打開pom文件,當(dāng)然作為開發(fā)我們肯定是maven和jdk已經(jīng)配好了
3.然后這個(gè)時(shí)候我們要修改jdk的版本
點(diǎn)擊 File -> Project Structure
把這些對應(yīng)的參數(shù)改一改,然后Modules里面也改一改
然后在 File -> Settings -> Build -> Compiler -> Java Compiler 把改一改
最后再到maven里面去修改
BUT 你以為到這就結(jié)束了么 , 那我為啥不直接百度呢
所以你要知道問題出在哪
- idea的編譯方式和eclipse的編譯方式是不一樣的;
- 在eclipse中發(fā)生的強(qiáng)轉(zhuǎn)不一定可以通過idea的javac;
下面我們來分析
/** 獲取聚合后的桶結(jié)構(gòu) */
List<ParsedBucket> parsedProvinceBuckets = (List<ParsedBucket>) provinceTerms.getBuckets();
這段代碼在老版本的eclipse中編譯是沒有問題的,那么放到idea中你也知道javac的編譯是嚴(yán)格的,所以List的集合是無法通過強(qiáng)轉(zhuǎn)轉(zhuǎn)為我們需要的類型的,所以如果編譯不通過我們可以通過修改源碼的方式:
/** 獲取聚合后的桶結(jié)構(gòu) */
List<ParsedBucket> parsedDayBuckets = new ArrayList<>();
List<? extends Histogram.Bucket> parsedDayBucketss = parseDateHistogram.getBuckets();
for(Object object :parsedDayBucketss){
parsedDayBuckets.add((ParsedBucket) object);
}
通過這樣的方式,就可以通過編譯了;
最后一種坑逼情況
很多時(shí)候我們的mapper.java和mapper.xml是放在同一個(gè)目錄下的,那么我們eclipse在編譯的時(shí)候會(huì)把該package下的所有文件都編譯,但是idea并不會(huì),idea只會(huì)找src下的所有.java文件,所以我們要把.xml的文件重新建立并放在resources下
自己去建立resources的文件夾
LAST !
maven