使用 Spring Zuul 和 Spring Initializer 正确的依赖管理

Correct dependency management with Spring Zuul and Spring Initializer

我想基于Baeldung and this pt-br blog.

实现一些hello world Spring Zuul项目

因为第一次使用这个非Spring神器

<groupId>com.baeldung.spring.cloud</groupId>
<artifactId>spring-cloud</artifactId>

作为父级,第二个使用 this deprecated artifact at dependencyManagement, I decided to use spring initalizr 仅将 Zuul 添加到我的依赖项中。但是当我 运行 它时,我得到这个异常:

Caused by: java.lang.ClassNotFoundException: com.netflix.zuul.monitoring.CounterFactory

我在我的主 class:

中使用这个注释
@SpringBootApplication
@EnableZuulProxy
@EnableDiscoveryClient

因为我已经尝试删除 .m2 文件夹但没有成功,我假设我的下载没有再次成功完成。但是我的错误变成了

Caused by: java.lang.ClassNotFoundException: com.netflix.zuul.ZuulFilter

其次是

Caused by: java.util.zip.ZipException: invalid block type

原来这个错误通常是由无效的.m2 jar 引起的。

删除 .m2 处的 everything 和上面的 'zuul',包括 com/netflix/zuul(在 spring 目录之外),并使用 mvn clean package -U使用 maven 3.5.4 我终于成功启动了我的应用程序。