java - 由于找不到 `HttpServletRequest` 类,@EnableZuulProxy 不起作用

标签 java spring-boot microservices netflix-zuul

我正在为我的微服务编写一个支持 Zuul 的 API 网关, 但是,在启动包含 zuul 的微服务时,出现以下错误

Error: Caused by: java.lang.ClassNotFoundException: javax.servlet.http.HttpServletRequest

经过多次搜索,我找到了以下两个对我没有帮助的解决方案。所以我在这里

  1. 启用Apache tomcat facet。由于某些原因,这在 Dynamic web module 3.0 中被禁用。
  2. 创建自定义 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 网关类。

说了这些,你能帮我解决上面突出显示的错误吗。

Edit: When I change the 1. spring-starter-parent to 1.5.3RELEASE instead of the latest. 2. spring-cloud.version to Edgware.SR2 from Finchley.SR1. I face no issue at all.

我猜这是最新的 Spring Activity ?任何想法!

最佳答案

我已尝试简化您的 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 链接吗

关于java - 由于找不到 `HttpServletRequest` 类,@EnableZuulProxy 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51821786/

相关文章:

api - GraphQL 对于没有前端客户端的系统有用吗?

java - HiveMQ Prometheus 扩展 NoClassDefFoundError。无法启动扩展

java - RabbitMq Spring Boot 部署 docker

java - Spring 启动时配置文件 : javax. sql.DataSource' 无法找到

java - 如何使用带有 Spring-Boot JPA 和 Maven 的 Liquibase 来管理来自 JPA 实体的迁移

ssl - 在 Kubernetes 集群中哪些 channel 应该使用 SSL?

Java 语法 : "synchronized (this)"

java - 如何从 UiBinder 描述 GXT Window?

java - Spring Boot GraphQL 无法加载架构

rest - 微服务:REST 与消息传递