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

Could not find artifact org.springframework.cloud:spring-cloud-netflix-eureka-server报错

程序员文章站 2022-07-15 09:49:01
...

今天项目导入了一个旧项目继续做,不知道maven改了哪里一直报上面这个错,
说无法解析zuul,server client,
后来找到解决方案了 在下面这个地方添加版本好,可以完成依赖解析。
Could not find artifact org.springframework.cloud:spring-cloud-netflix-eureka-server报错

我就想为什么之前可以解析依赖呢?
于是我看了下下面父项目的cloud依赖
Could not find artifact org.springframework.cloud:spring-cloud-netflix-eureka-server报错
终于发现了
依赖管理这里应该指定 scope
Could not find artifact org.springframework.cloud:spring-cloud-netflix-eureka-server报错

然后我就复习了一遍maven项目管理

依赖的Scope
scope定义了类包在项目的使用阶段。项目阶段包括: 编译,运行,测试和发布。

分类说明

  • compile
    默认scope为compile,表示为当前依赖参与项目的编译、测试和运行阶段,属于强依赖。打包之时,会达到包里去。

  • test
    该依赖仅仅参与测试相关的内容,包括测试用例的编译和执行,比如定性的Junit。

  • runtime
    依赖仅参与运行周期中的使用。一般这种类库都是接口与实现相分离的类库,比如JDBC类库,在编译之时仅依赖相关的接口,在具体的运行之时,才需要具体的mysql、oracle等等数据的驱动程序。
    此类的驱动都是为runtime的类库。

  • provided
    该依赖在打包过程中,不需要打进去,这个由运行的环境来提供,比如tomcat或者基础类库等等,事实上,该依赖可以参与编译、测试和运行等周期,与compile等同。区别在于打包阶段进行了exclude操作。

  • system
    使用上与provided相同,不同之处在于该依赖不从maven仓库中提取,而是从本地文件系统中提取,其会参照systemPath的属性进行提取依赖。

  • import
    这个是maven2.0.9版本后出的属性,import只能在dependencyManagement的中使用,能解决maven单继承问题,import依赖关系实际上并不参与限制依赖关系的传递性。