关于IDEAmaven无法自动下载jar包pom报错

自引链接:https://mp.csdn.net/postedit?not_checkout=1

首先我的错误是在IDEA和ECLIPSE上都无法创建springboot与maven项目,都是同样的maven依赖不能自动下载的原因,所以排除了软件的问题,以下是解决路程:

一:我先了解了一下maven仓库的构成与核心配置文件settings.xml中每个字段都代表的是什么意思

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                      https://maven.apache.org/xsd/settings-1.0.0.xsd">
  <localRepository>${user.home}/.m2/repository</localRepository>
  <interactiveMode>true</interactiveMode>
  <usePluginRegistry>false</usePluginRegistry>
  <offline>false</offline>
  ...
</settings>
  • <localRepository />:配置系统本地仓库的路径。默认值是${user.home}/.m2/repository目录。此元素特用于允许所有已登录到主服务器的用户共用公共本地仓库。
  • <interactiveMode />true ,Maven尝试与用户交互,需用户输入,否则设置为false,默认为 true
  • <usePluginRegistry />true ,Maven使用 ${user.home}/.m2/plugin-registry.xml 来管理插件版本, 否则false。默认值为 falseNote that for the current version of Maven 2.0, the plugin-registry.xml file should not be depended upon. Consider it dormant for now.(这句话暂时不知如何翻译出来妥当,毕竟已经到Maven 3.x时代)
  • <offline />true, 构建系统在离线模式运行,否则false。默认值为false。此元素对于因网络设置或安全原因而无法连接到远程仓库的服务器非常有用。

<servers />

<servers>
    <server>
      <id>server001</id>
      <username>my_login</username>
      <password>my_password</password>
      <privateKey>${user.home}/.ssh/id_dsa</privateKey>
      <passphrase>some_passphrase</passphrase>
      <filePermissions>664</filePermissions>
      <directoryPermissions>775</directoryPermissions>
      <configuration></configuration>
    </server>
  </servers>
  • id:Maven尝试连接的仓库/镜像服务器的id,而不是用户所登录的服务器id。
  • username, password:服务器进行身份验证所需的登录名和密码。
  • privateKey, passphrase::(可选)与前两个元素类似,这两项指定私钥的路径(默认${user.home}/.ssh/id_dsa)和passphrase。 passphrase和 password 元素将来可能外化,但目前它们必须以纯文本形式配置在settings.xml文件中 。
  • filePermissions, directoryPermissions::仓库部署时创建的文件或目录的访问权限。这两个元素的合法值是一个三位数字,对应了unix文件系统的权限,如664,或775。

<mirrors />

<mirrors>
    <mirror>
      <id>planetmirror.com</id>
      <name>PlanetMirror Australia</name>
      <url>http://downloads.planetmirror.com/pub/maven2</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
  </mirrors>
  • id, name::此镜像的唯一标识符和用户友好名称。id用于区分 <mirror /> 元素,并在连接到镜像时从<servers />部分选择相应的验证信息。
  • url: 此镜像的URL 。构建系统将使用此URL连接到仓库,而不是原始仓库URL。
  • mirrorOf::此镜像所镜像的仓库id。例如,指向Maven中央仓库central repository(https://repo.maven.apache.org/maven2/)的一个镜像,将此元素设置为 central。更高级的映射,如 repo1,repo2or *,! 也是可以的.,但不能与<mirror />的id相同。

可连接多个远程镜像,我的xml配置文件中包含了公司私服镜像

但是我点进url后发现500服务器错误,这有可能是其中一种原因

下来我又配置了阿里的镜像

<!-- 阿里云仓库 -->
        <mirror>
            <id>alimaven</id>
            <mirrorOf>central</mirrorOf>
            <name>aliyun maven</name>
            <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
        </mirror>
    <mirror>

后了解到你的电脑中会有两个maven仓库,一个是你自定义的全局maven仓库和settings.xml配置,另一个是你本机.m2问价夹中的maven仓库,考虑到此,我在IDEA中点击settings中maven全局设置

注意setting.xml文件中配置的仓库位置保持一致

maven home directory 、User settings file、Local repostory三个配置必须统一,假如用软件自带的maven home directory 、User settings file,则必须将本地仓库换为.m2文件底下的repostory仓库,如图:

在maven下载失败期间产生了许多后缀为.lastupdated的文件,一般是下载失败后产生的文件,当这些文件存在时,maven并不回去自动下载jar包,附上批量删除.lastupdated问价的方法:

windows系统下,cd到本地仓库目录下,运行命令

 for /r %i in (*.lastUpdated) do del %i

自引博客园中链接:https://www.cnblogs.com/fjlcoding/p/9472984.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java IDEA 本地 Jar POM 第一行报错通常是由于项目中的 Maven POM 文件存在错误引起的。Maven 用于管理 Java 项目的依赖关系和构建过程,通常在项目的根目录下有一个名为 pom.xml 的文件,其中定义了项目的配置信息。 首先,首行报错可能是由于 pom.xml 文件中的 XML 语法错误所致。XML 是一种用于定义自定义标记语言的语法,一般情况下,它要求所有的标签要有开始和结束标记,并且要按照层次结构嵌套。检查 pom.xml 文件的第一行是否存在拼写错误、缺少闭合标签或其他语法问题,修复这些问题可以解决首行报错问题。 其次,pom.xml 文件中的第一行报错也可能是由于 Maven 配置信息的问题导致的。检查 pom.xml 文件中的项目配置、依赖库声明以及构建插件等信息是否正确,并且符合项目的需求和实际情况。特别是要检查 Maven 的版本是否正确,并且与项目的 JDK 版本兼容。 最后,首行报错还可能是由于本地 jar 文件的路径错误导致的。检查 pom.xml 文件中声明的本地 jar 文件路径是否正确,包括路径是否与实际 jar 文件路径相匹配,是否包含正确的文件名和扩展名等。修复这些问题可以解决首行报错问题。 综上所述,要解决 Java IDEA 本地 Jar POM 第一行报错问题,首先要检查 pom.xml 文件的 XML 语法是否正确,其次要确保 Maven 配置信息正确,最后要检查本地 jar 文件的路径是否正确。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值