解決idea找不到setting.xml文件的問(wèn)題
對(duì)于找不到maven倉(cāng)庫(kù)的setting.xml文件
網(wǎng)上各種說(shuō)法
但是我在idea里面找到了一個(gè)思路介紹給大家

補(bǔ)充:Maven Settings.xml文件及常見(jiàn)問(wèn)題總結(jié)
Settings.xml 文件<localRepository>
配置本地倉(cāng)庫(kù)地址,如:
<localRepository>D:.m2repository</localRepository>
<servers>
配置私服地址。如果為公共服務(wù)器,不需要賬號(hào),密碼,則可不配置。只要配置<mirror>標(biāo)簽即可(<mirror>見(jiàn)1.3小節(jié))如:
<server> <id>nexus</id> <username>yanfa</username> <password>yanfa</password></server>
<mirror>
mirror則相當(dāng)于一個(gè)代理,它會(huì)攔截去指定的遠(yuǎn)程repository下載構(gòu)件的請(qǐng)求,然后從自己這里找出構(gòu)件回送給客戶端。配置mirror的目的一般是出于網(wǎng)速考慮。
如果配置為*,如下面配置文件所示,則如果這個(gè)mirror掛掉,maven將無(wú)法訪問(wèn)任何遠(yuǎn)程倉(cāng)庫(kù),因而將無(wú)法下載構(gòu)件。
配置遠(yuǎn)程倉(cāng)庫(kù)地址:
<mirror> <id>nexus</id> <name>Nexus</name> <url>http://localhost:8081/nexus/content/groups/public/</url> <mirrorOf>*</mirrorOf> </mirror>
<repository>
internal repository是指在局域網(wǎng)內(nèi)部搭建的repository,它跟central repository, jboss repository等的區(qū)別僅僅在于其URL是一個(gè)內(nèi)部網(wǎng)址。
配置遠(yuǎn)程倉(cāng)庫(kù)信息:
<repository> <id>nexus</id> <name>Nexus Repository</name> <url>http://localhost:8081/nexus/content/groups/public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository>
<pluginRepository>
配置插件信息,如tomcat等插件:
<pluginRepository> <id>nexus</id> <name>Nexus Repository</name> <url>http://localhost:8081/nexus/content/groups/public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository>常見(jiàn)問(wèn)題
Q: Maven 本地倉(cāng)庫(kù)明明有jar包,pom文件還是報(bào)錯(cuò)解決?
A: 解決方法:找到出錯(cuò)的jar包文件在本地倉(cāng)庫(kù)的位置,刪掉_maven.repositories文件。
原因:更換settings.xml 配置文件后,如果配置的respositoryId中不包含這個(gè)私服的repositoryId,maven本不會(huì)讓這個(gè)本地的jar包,maven就會(huì)自動(dòng)到配置的庫(kù)中找到,找不到就會(huì)報(bào)錯(cuò)。
Q: 明明已經(jīng)設(shè)置本地倉(cāng)庫(kù),但maven每次更新時(shí),還是要到網(wǎng)上下載?
A: 本地沒(méi)有下載到真正的 jar 包(而是帶有l(wèi)ast-updated后綴的文件),只能再到網(wǎng)上下載。
Q: Maven 應(yīng)用jar 版本不對(duì),如何解決?
A: 1. 首先查看本地倉(cāng)庫(kù)中的目標(biāo)jar包版本是否存在。2. 如果存在,查看.pom 文件,知道其坐標(biāo), 然后在需要引用的工程的pom.xml文件中添加dependency 引用。 3. 如果不存在, 看私服中是否有改目標(biāo)版本的文件,有,就下載即可。
優(yōu)勢(shì)未使用maven管理,每一個(gè)項(xiàng)目都要帶一些jar包,增大了項(xiàng)目的體積,需要更多的時(shí)間部署;同時(shí)每個(gè)項(xiàng)目之間肯定有一些公用的jar包,如果能夠集中式管理jar,這樣會(huì)節(jié)省很多的空間。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章:
1. JS中6個(gè)對(duì)象數(shù)組去重的方法2. Java commons-httpclient如果實(shí)現(xiàn)get及post請(qǐng)求3. 資深程序員:給Python軟件開(kāi)發(fā)測(cè)試的25個(gè)忠告!4. 一文帶你徹底理解Java序列化和反序列化5. PHP程序員簡(jiǎn)單的開(kāi)展服務(wù)治理架構(gòu)操作詳解(二)6. PHP利用curl發(fā)送HTTP請(qǐng)求的實(shí)例代碼7. Python基于requests庫(kù)爬取網(wǎng)站信息8. vscode運(yùn)行php報(bào)錯(cuò)php?not?found解決辦法9. PHP laravel實(shí)現(xiàn)導(dǎo)出PDF功能10. python中文本字符處理的簡(jiǎn)單方法記錄

網(wǎng)公網(wǎng)安備