我正在为我的微服务编写一个启用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 。我完全没有问题。
我想这是最新的春天吗?有什么想法!
答案 0 :(得分:1)
我已尝试简化您的pom,但没有任何问题。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zuul</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
让我知道放置这些依赖项后,它仍然无法正常工作。您还可以提供源代码的githhb链接吗?