java - 为什么我收到此错误 "EmbeddedServletContainerInitializedEvent cannot be resolved to a type"?

标签 java spring-boot

如何解决 Spring Boot 中的此错误?

我正在尝试获取端口号和主机名,但我不断收到此错误。

@SpringBootApplication
public class RegistrationFormApplication implements ApplicationListener<EmbeddedServletContainerInitializedEvent> {
    @Autowired
    Environment environment;
    public static void main(String[] args) {
        SpringApplication.run(RegistrationFormApplication.class, args);
    }
    Logger logger;

    @Override
    public void onApplicationEvent(EmbeddedServletContainerInitializedEvent embeddedServletContainerInitializedEvent) {
        logger.info("Port " + embeddedServletContainerInitializedEvent.getApplicationContext().getEmbeddedServletContainer().getPort());
        try {
           logger.info("HOST Address " + InetAddress.getLocalHost().getHostAddress());
            logger.info("Host Name " + InetAddress.getLocalHost().getHostName());
        } catch (UnknownHostException e) {

        }
    }
}

最佳答案

可能是因为您在使用 Spring Boot 2.x 时复制/粘贴了一些为 Spring Boot 1.x 编写的代码,其中该类已被删除。

尝试使用ServletWebServerInitializedEventport = event.getWebServer().getPort()

参见https://self-learning-java-tutorial.blogspot.com/2018/07/spring-boot-get-port-of-spring-boot.html了解获取服务器端口的不同方法。

关于java - 为什么我收到此错误 "EmbeddedServletContainerInitializedEvent cannot be resolved to a type"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56982909/

相关文章:

java - 从 WebView 存储 Facebook 的 session

java - 正则表达式将字符串中的一组小写字母转换为大写字母

java - 在 spring boot embedded undertow 上将 http 重定向到 https

java - 显示其他表中一对一映射字段的错误

spring-boot - 如何在 Visual Studio 代码中运行 Spring Boot 应用程序?有可能吗?

java - jar 文件中缺少类。返回 NoClassDefFoundError 异常

java - 在构造函数中,找到哪个类创建了对象?

java - 主动渲染时按键监听器不工作

datasource - Spring Boot JNDI 数据源查找失败 - 在上下文 "java:"中找不到名称 comp/env/jdbc

spring-boot - 列出 BOM 贡献给 gradle 5 的所有属性