欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

解决idea找不到setting.xml文件的问题

程序员文章站 2022-09-26 10:56:09
对于找不到maven仓库的setting.xml文件网上各种说法但是我在idea里面找到了一个思路介绍给大家补充:maven settings.xml文件及常见问题总结settings.xml 文件&...

对于找不到maven仓库的setting.xml文件

网上各种说法

但是我在idea里面找到了一个思路介绍给大家

解决idea找不到setting.xml文件的问题

解决idea找不到setting.xml文件的问题

补充:maven settings.xml文件及常见问题总结

settings.xml 文件

<localrepository>

配置本地仓库地址,如:

<localrepository>d:\.m2\repository</localrepository>

<servers>

配置私服地址。如果为公共服务器,不需要账号,密码,则可不配置。只要配置<mirror>标签即可(<mirror>见1.3小节)如:

<server>
  <id>nexus</id>
  <username>yanfa</username>
  <password>yanfa</password>
</server>

<mirror>

mirror则相当于一个代理,它会拦截去指定的远程repository下载构件的请求,然后从自己这里找出构件回送给客户端。配置mirror的目的一般是出于网速考虑。

如果配置为*,如下面配置文件所示,则如果这个mirror挂掉,maven将无法访问任何远程仓库,因而将无法下载构件。

配置远程仓库地址:

 <mirror>
  <id>nexus</id>
  <name>nexus</name>
  <url>http://localhost:8081/nexus/content/groups/public/</url>
  <mirrorof>*</mirrorof>
 </mirror>

<repository>

internal repository是指在局域网内部搭建的repository,它跟central repository, jboss repository等的区别仅仅在于其url是一个内部网址。

配置远程仓库信息:

  <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>

常见问题

q: maven 本地仓库明明有jar包,pom文件还是报错解决?

a: 解决方法:找到出错的jar包文件在本地仓库的位置,删掉_maven.repositories文件。

原因:更换settings.xml 配置文件后,如果配置的respositoryid中不包含这个私服的repositoryid,maven本不会让这个本地的jar包,maven就会自动到配置的库中找到,找不到就会报错。

q: 明明已经设置本地仓库,但maven每次更新时,还是要到网上下载?

a: 本地没有下载到真正的 jar 包(而是带有last-updated后缀的文件),只能再到网上下载。

q: maven 应用jar 版本不对,如何解决?

a: 1. 首先查看本地仓库中的目标jar包版本是否存在。2. 如果存在,查看.pom 文件,知道其坐标, 然后在需要引用的工程的pom.xml文件中添加dependency 引用。 3. 如果不存在, 看私服中是否有改目标版本的文件,有,就下载即可。

优势

未使用maven管理,每一个项目都要带一些jar包,增大了项目的体积,需要更多的时间部署;同时每个项目之间肯定有一些公用的jar包,如果能够集中式管理jar,这样会节省很多的空间。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。

相关标签: idea setting.xml