maven工程报错解决

2019-05-05  本文已影响0人  测试老杨

maven介绍

绝大部分Maven用户都称Maven是一个"构建工具":一个用来把源代码构建成可发布的构件的工具。 构建工程师和项目经理会说 Maven是一个更复杂的东西:一个项目管理工具。那么区别是什么? 像Ant这样的构建 工具仅仅是关注预处理,编译,打包,测试和分发。像 Maven 这样的一个项目管理工 具提供了构建工具所提供功能的超集。 除了提供构建的功能,Maven还可以生成报告, 生成Web站点,并且帮助推动工作团 队成员间的交流。一个更正式的Apache Maven的定义: Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(ProjectLifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。 当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后 Maven 可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。别让Maven是一个"项目管理"工具的事实吓跑你。如果你只是在找一个构建工具,Maven能做这个工作。

依赖配置

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.kayang</groupId>
  <artifactId>ehr</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
        <scope>test</scope>
    </dependency>  
    <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest-all</artifactId>
        <version>1.3</version>
        <scope>test</scope>
    </dependency>   
  </dependencies>
</project>

报错信息

Failed to read artifact descriptor for org.hamcrest:hamcrest-all:jar:1.3

image.png

原因分析

jar包下载失败的可能性很大

怎么解决

1)到本地仓库里面删除该框架对应的目录(D:\repository\org\hamcrest\hamcrest-all)


image.png

2)右击maven工程>Maven>Update Project或者对配置文件(pom.xml)做一个无关紧要的修改并保存(注意:不要影响配置,比如添加空格或者空行)

参考资料

Failed to read artifact descriptor--maven问题总结
https://www.cnblogs.com/hadoop2015/p/5717159.html
maven pom详解
https://blog.csdn.net/zz_lk_xx/article/details/85870848
maven滤除不需要的依赖POM配置
https://blog.csdn.net/lkx94/article/details/42145239

上一篇下一篇

猜你喜欢

热点阅读