【发布时间】:2019-01-20 03:38:36
【问题描述】:
我正在为我的微服务编写启用Zuul 的 API 网关,
然而,在启动包含zuul 的微服务时,我收到了下面提到的错误
错误:原因:java.lang.ClassNotFoundException: javax.servlet.http.HttpServletRequest
经过多次搜索,我发现以下两种对我没有帮助的解决方案。所以我在这里
- 启用
Apache tomcat facet。出于某种原因,Dynamic web module 3.0禁用了此功能。 - 创建自定义
dispatcher servlet。但是当我们使用 servlet 2.5 时,这个解决方案应该是可行的。
由于我使用的是从 https://spring.io 导入的 spring-boot 应用程序,所以它巩固了我使用的是 servlet 3.0。
我的API网关pom.xml:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<spring-cloud.version>Finchley.SR1</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-zuul</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
我已使用 @EnableZuulProxy 注释我的 API 网关类。
说了这些,请您帮我解决上面突出显示的错误。
编辑:当我改变 1.
spring-starter-parent到 1.5.3RELEASE 而不是最新的。 2.spring-cloud.version从 Finchley.SR1 到 Edgware.SR2。我一点问题都没有。
我猜这是最新的春天的东西?有什么想法!
【问题讨论】:
-
可能是损坏的 JAR 下载。可以清除所有
/.m2/repository文件夹,或者尝试找到特定的jar,我个人会删除org.springframework文件夹并运行mvn install或可以运行mvn dependency:purge-local-repository -
你是如何启动应用程序的?从 IDE 还是命令行?
-
来自 IDE 的@galovics
-
用 maven 运行应用程序怎么样?
mvn spring-boot:run
标签: java spring-boot microservices netflix-zuul