无法初始化 Eureka servlet 上下文

2023-12-29

我正在将我的实际项目升级到 spring boot 2.5.2。 我有一个配置服务器、一个 zuul 网关和一个发现服务器。 现在我看到 Spring Cloud 在我的发现服务器中有一个嵌入式网关,我想使用它。所以我最后只有配置服务器和发现服务器(其中包括我的网关) 但我从发现服务器得到以下堆栈跟踪:

08-07-2021 14:03:46.449 [Thread-11] INFO  c.n.e.r.PeerAwareInstanceRegistryImpl.openForTraffic - Got 1 instances from neighboring DS node
08-07-2021 14:03:46.449 [Thread-11] INFO  c.n.e.r.PeerAwareInstanceRegistryImpl.openForTraffic - Renew threshold is: 1
08-07-2021 14:03:46.449 [Thread-11] INFO  c.n.e.r.PeerAwareInstanceRegistryImpl.openForTraffic - Changing status to UP
08-07-2021 14:03:46.467 [Thread-11] ERROR o.s.c.n.e.s.EurekaServerBootstrap.contextInitialized - Cannot bootstrap eureka server :
java.lang.NullPointerException: null
    at org.springframework.cloud.netflix.eureka.server.EurekaServerBootstrap.contextInitialized(EurekaServerBootstrap.java:73)
    at org.springframework.cloud.netflix.eureka.server.EurekaServerInitializerConfiguration.lambda$start$0(EurekaServerInitializerConfiguration.java:68)
    at java.lang.Thread.run(Thread.java:748)
08-07-2021 14:03:46.468 [Thread-11] ERROR o.s.c.n.e.s.EurekaServerInitializerConfiguration.lambda$start$0 - Could not initialize Eureka servlet context
java.lang.RuntimeException: Cannot bootstrap eureka server :
    at org.springframework.cloud.netflix.eureka.server.EurekaServerBootstrap.contextInitialized(EurekaServerBootstrap.java:77)
    at org.springframework.cloud.netflix.eureka.server.EurekaServerInitializerConfiguration.lambda$start$0(EurekaServerInitializerConfiguration.java:68)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException: null
    at org.springframework.cloud.netflix.eureka.server.EurekaServerBootstrap.contextInitialized(EurekaServerBootstrap.java:73)
    ... 2 common frames omitted

这是我的代码:

配置服务器:

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.2</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.geminiald</groupId>
    <artifactId>config-service</artifactId>
    <version>2.1.0</version>
    <name>config-service</name>
    <description>Configuration service</description>

    <properties>
        <java.version>1.8</java.version>
        <spring-cloud.version>2020.0.3</spring-cloud.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-server</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

应用程序.yml

spring:
  cloud:
    config:
      server:
        native:
          search-locations: classpath:/shared
  profiles:
    active: native
  security:
    user:
      password: configPassword

server:
  port: 8081

共享/发现服务.yml

server:
  port: 8082

logging:
  level:
    org:
      hibernate:
        SQL: DEBUG
        type:
          descriptor:
            sql:
              BasicBinder: TRACE

发现服务器

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.2</version>
        <relativePath /> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.geminiald</groupId>
    <artifactId>discovery-service</artifactId>
    <version>2.1.0</version>
    <name>discovery-service</name>
    <description>Discovery service</description>

    <properties>
        <java.version>1.8</java.version>
        <spring-cloud.version>2020.0.3</spring-cloud.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-config</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-bootstrap</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-webflux</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
        </dependency>
        <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
        </dependency>
        <dependency>
            <groupId>com.github.ben-manes.caffeine</groupId>
            <artifactId>caffeine</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

Main

@SpringBootApplication
@EnableEurekaServer
public class DiscoveryServiceApplication {

    public static void main(String[] args) {
        SpringApplication.run(DiscoveryServiceApplication.class, args);
    }

}

网关发现配置

@Configuration
@EnableDiscoveryClient
public class GatewayDiscoveryConfiguration {

    @Bean
    public DiscoveryClientRouteDefinitionLocator
            discoveryClientRouteLocator(ReactiveDiscoveryClient discoveryClient, DiscoveryLocatorProperties locatorProperties) {

        return new DiscoveryClientRouteDefinitionLocator(discoveryClient, locatorProperties);
    }
}

如果有人能帮助我,我将不胜感激。

提前致谢!


如果它对任何人有帮助的话。

上下文为空,因此通过将 tomcat-embed-core.jar 添加到类路径中,我修复了 NPE。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法初始化 Eureka servlet 上下文 的相关文章

随机推荐

  • Django 和 MySQL unicode 错误

    我正在得到一个Incorrect string value Exception Value Incorrect string value xEA xB0 x95 xED x95 x98 for column object repr at r
  • 如何将存储过程的多个输出抓取到临时表中

    我的存储过程返回两个输出 我想在另一个存储过程中使用其中一个 因此尝试获取临时表中的第二个输出 但由于两个输出的结构不同 因此我总是得到 列名称或提供的值的数量与表定义不匹配 即使我更改输出的顺序 第一个输出第二个 第二个输出第一个 它也不
  • 如何在R中保存foreach循环的输出

    我在保存数据输出后遇到问题foreach loop 这是读取我的数据并处理它的函数 readFiles lt function x data lt read table filelist skip grep Begin Data Text
  • Java 中最终字符串的串联是如何完成的?

    当我编译这个片段时 public class InternTest public static void main String strings final String str1 str final String str2 ing Str
  • Netbeans 中的 Git 控制台

    我刚刚安装了 Netbeans 8 我想开始使用 Git 有很多按钮 菜单等 但在哪里可以找到 Git 控制台 我使用Windows 如果您想要控制台 您可能最好直接安装它 IDE 通常只提供菜单集成选项 Git 的网站有 Windows
  • Symfony2主义mysql IN查询

    我有一系列产品 ID 我必须像这样进行查询 SELECT FROM products WHERE pid IN 1 2 8 4 etc 我的 id 位于变量 pids 中 qb em gt createQueryBuilder query
  • 如何使用 Amazon AWS Elastic Beanstalk 安装 PHP 扩展?

    我们在 EC2 实例上的 PHP 应用程序中使用 aws elastic beanstalk 由于我们选择了负载平衡 它会不断地更改实例 我想知道如果我们安装 PHP 插件 它会受到实例更改的影响还是在新实例中也可用 提出这个问题是因为我们
  • macOS 上 CLion 中的 std::unordered_map

    我怎样才能看到元素std unordered map在 CLion 调试器中 有一些recipe https blog jetbrains com clion 2015 05 debug clion 怎么看std map元素 但它不适用于s
  • 添加两个 NSDate

    我有两个 NSDate 日期和时间 我想以这样的方式添加它们 以便我从日期中获取日期 从时间中获取时间 关于我如何做到这一点有什么建议吗 Cheers Nik 如果我没听错的话NSDates dateByAddingTimeInterval
  • 在 Symfony 1.4 中重命名“web”文件夹

    我想在 symfony 1 4 中将 web 文件夹重命名为 html 不幸的是 搜索这方面的文档却一无所获 除了在 1 0 中如何实现这一点之外 这似乎不起作用 首先 您不必重命名它 您可以只创建一个符号链接 除非您运行的是 Window
  • 使用 MySQL 和 ejabberd 进行高效的外部排班

    Question 请注意 这个问题的解决方案就在下面 使用 Eugen 的视图思想 我正在为 PHP MySQL 用户驱动的网站编写一个聊天模块 允许两个用户交朋友 并选择 eJabberd 作为聊天系统 我已经使用 PHP 守护程序成功设
  • 透明外壳。如何将很长的 JavaScript 拆分为多行?

    我有一个 JS 压缩文件 长约 14k 并且在一行中 这会在 Clear Case 上造成一些问题 导致无法办理登机手续 有没有办法修复clearcase 如果我想将JS文件拆分为多行 插入换行符时需要注意什么吗 显然我不会分割字符串或数字
  • schema.org 中的产品类别?

    用作参考 https support google com webmasters answer 146750 hl en https support google com webmasters answer 146750 hl en 您会注
  • 如何加密/解密 XML 文件?

    我正在尝试加密 解密 XML 文件 我找到了这个加密示例 但我不知道如何解密 任何想法 谢谢 Load this XML file System Xml XmlDocument myDoc new System Xml XmlDocumen
  • ArCore Sceneform:检测图像时播放.mp4视频

    当我找到图像时 我想在其上方放置文本和视频 文本视图放置在场景上 但视频没有放置在场景中 它只是添加到中间的主布局中 我正在使用组件 VideoView 我不确定这是问题所在 override fun onCreate savedInsta
  • 如何使用PHP给上传的图片添加水印

    如何使用 PHP 对上传的图片添加水印 示例链接 http www kitebeaches com kitesurf uploadPicture NIRVANA Club Village html http www kitebeaches
  • TEmbeddedWB/TWebbrowser:window.external是一个空对象,但可以调用函数,为什么它首先是“空”?

    使用案例 先一些信息 我制作了一些 HTML CSS3 Javascript 游戏 可以在特定于平台的可执行文件中的 WebView 嵌入式浏览器中的不同平台上运行 我自己设计了它 因为我厌倦了周围所有的 框架 这些 框架 告诉我使用他们的
  • XMPPFramework - 实施群聊 (MUC)

    我正在开发 iOS 聊天客户端 有人可以帮我进行多用户聊天吗 我已经实现了 Robbiehanson 的 XMPPFramework 谁能告诉我如何使用此框架获取组列表并在服务器中创建组 提前致谢 获取房间列表 NSString serve
  • 无法在已禁用的应用程序上获得对 public_profile 的高级访问权限?

    昨晚 Facebook 禁用了我们的应用程序 理由如下 开发者政策 6 1 验证您是否已正确集成登录 您的应用程序在测试过程中不应崩溃或挂起 在登录期间 您的应用程序崩溃或过度挂起 为尝试使用您的应用程序的人带来了糟糕的体验 为了确保此流程
  • 无法初始化 Eureka servlet 上下文

    我正在将我的实际项目升级到 spring boot 2 5 2 我有一个配置服务器 一个 zuul 网关和一个发现服务器 现在我看到 Spring Cloud 在我的发现服务器中有一个嵌入式网关 我想使用它 所以我最后只有配置服务器和发现服