- 資訊首頁(yè) > 開(kāi)發(fā)技術(shù) >
- maven報錯找不到符號怎么解決
本篇內容介紹了“maven報錯找不到符號怎么解決”的有關(guān)知識,在實(shí)際案例的操作過(guò)程中,不少人都會(huì )遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學(xué)有所成!
語(yǔ)言:Java和Scala并用
場(chǎng)景:存在java調用scala代碼的情況
maven版本:3.5.1
IDE:IDEA 2017.1
<h3 id="maven報錯找不到符號" white-space:normal;background-color:#ffffff;"=""> maven報錯:找不到符號
并列出找不到的類(lèi)或程序所在的程序包、位置
在一開(kāi)始遇到maven問(wèn)題時(shí),網(wǎng)路上可以搜到的資料基本支持以下幾種情況:
1.清理cache
- 使用mvn clean命令清理
- 使用IDEA里面的Invalid Cache清理
2.編碼格式不統一
- 在pom.xml中將compiler的編碼格式設為UTF-8
3.IDE和項目本身的jdk版本不統一
- 檢查IDE編譯使用的jdk版本和在pom.xml中配置的jdk版本是否統一
4.pom的依賴(lài)問(wèn)題
以上4種情況的解決方法,詳細可參考 http://blog.csdn.net/u012062455/article/details/52347099。
上述問(wèn)題是在網(wǎng)路中搜索得到的主要幾種情況,但和我的情況均不相符,無(wú)法解決我的問(wèn)題。
對錯誤進(jìn)行定位后,我發(fā)現,項目中的scala代碼和java代碼均可以正常單獨編譯,但同時(shí)編譯會(huì )報錯。首先,排除了代碼位于不同包的情況的影響;進(jìn)一步定位后發(fā)現,錯誤出現在,使用java代碼調用scala代碼時(shí),也就是說(shuō),我在java代碼中,只要import了scala的類(lèi),就會(huì )報錯。
原因定位后,在stackoverflow的一個(gè)不太相關(guān)的問(wèn)題的評論中看到了這樣一句話(huà),大意是,若在java代碼中調用了scala代碼,則需先編譯scala代碼,后編譯java代碼。
這句話(huà)以后,茅塞頓開(kāi),現給出兩種解決方法:
使用mvn命令控制編譯順序
在pom.xml里面配置編譯順序
這部分我研究不深,因此只給出一個(gè)成功的配置方案。
以上兩種方法均可以編譯成功,解決以上maven報錯。
下面將敘述一個(gè)我比較困惑的情況,望不吝解答。
我將列出一個(gè)pom.xml的示例,里面也有配置scala-compile的順序,使用scala-compile-first這樣的字樣進(jìn)行控制。
但該配置,在實(shí)際使用中,在工程1里可行,但工程2里會(huì )報錯,然而我兩個(gè)工程里的配置,順序幾乎放的一樣,只不過(guò)工程2中可能多引入了很多dependency,配置如下:
這是我失敗情況的配置,不要使用。
這里的scala-compile-first起到的是什么作用,為什么失效了呢?
在找到問(wèn)題所在之后,再進(jìn)行搜索,發(fā)現已有文檔提出,若使用java調用scala,需要先編譯scala的情況,比如http://www.cnblogs.com/yako/p/5730552.html。
由此可見(jiàn),對于自己需要查找的問(wèn)題, 關(guān)鍵詞總結的本領(lǐng),還要繼續加強。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站