maven---常见错误

关于maven构件解析步骤请看maven---6仓库-->6从仓库解析依赖的机制

1依赖解析错误

1.1错误结果

Paste_Image.png

1.2产生可能原因

从私服上下载构件(依赖或插件)时由于私服服务器不稳定或者网络原因导致传输文件失败。

  • 上面失败原因是解析stanford-corenlp-3.3.1.jar失败,而解析stanford-corenlp-3.3.1.jar失败是因为从私服上传输文件到本地失败,错误返回码是500,说明私服传输出现问题。
  • 看一下本地stanford-corenlp-3.3构件的内容:
Paste_Image.png
  • 其中stanford-corenlp-3.3.1.jar.lastUpdated文件记录的是最近一次maven根据更新规则或者(-U)命令执行的一次正常检查更新失败的原因。如果更新成功就没有该文件,内容如下:
#NOTE: This is an Aether internal implementation file, its format can be changed without prior notice.
#Mon Jan 09 22:48:23 CST 2017
@default-nexus-mirror-http\://172.19.201.155\:8081/repository/maven-public/.lastUpdated=1483973303784
http\://localhost\:8081/repository/maven-public/.lastUpdated=1480213183807
http\://localhost\:8081/repository/maven-public/.error=
http\://172.19.201.155\:8081/repository/maven-public/.error=Could not transfer artifact edu.stanford.nlp\:stanford-corenlp\:jar\:3.3.1 from/to nexus-mirror (http\://172.19.201.155\:8081/repository/maven-public/)\: Failed to transfer file\: http\://172.19.201.155\:8081/repository/maven-public/edu/stanford/nlp/stanford-corenlp/3.3.1/stanford-corenlp-3.3.1.jar. Return code is\: 500, ReasonPhrase\: Server Error.

1.3解决办法

1.在保证网络畅通的情况下,再次执行一遍相同的maven命令,同时加上-U参数,让maven强制更新,不然如果在新的更新周期没到后,maven会直接将上次缓存的失败结果返回给你,如下图返回缓存失败结果。


返回缓存的失败结果

2.上一个方法有可能还会失败:因为-U会和私服交互检查更新pom.xml中的所有构件,如果pom.xml中的构件很多,有可能还会因为私服不稳定等原因造成此次执行失败。那么有一种情况可以不使用-U,首先要明白,凡是pom.xml中的构件在本地仓库中存储xxxx.lastUpdated文件,那么maven就会去远程仓库检查更新(当然如果在更新周期没到期间会直接返回上次更新失败结果),更新成功就会删掉该文件,失败会继续存在。所以把pom.xml中构件在本地仓库中的xxxx.lastUpdated文件删除掉,这样maven在执行命令时,发现依赖的构件存在直接使用,而不去更新(如果存在xxxx.lastUpdated肯定会连接私服更新),发现构件不存在就去下载。当然这只适合构件不太多情况。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • |-1-更新内容[6.从仓库解析依赖的机制(重要)] 1Maven仓库作用 仓库用来存储所有项目使用到构件,在ma...
    zlcook阅读 11,415评论 0 25
  • 首先私服是一种衍生出来的特殊的Maven远程仓库,构建私服的好处请看3.5私服 可以帮助大家建立私服的仓库管理软件...
    zlcook阅读 13,624评论 0 32
  • 目前在看nexus私服章节的知识时需要用到仓库与镜像的知识,正好通过简书把仓库和镜像章节的笔记整理一下 仓库 ma...
    小炼君阅读 5,124评论 0 48
  • 1. 导入新maven项目后,pom.xml可能出现以下情况 ( MyEclipse ) 解决方法:1、项目右键-...
    墨白找阅读 9,568评论 0 0
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,087评论 6 342