进程以退出代码 1 Spring Boot Intellij 结束

Posted

技术标签:

【中文标题】进程以退出代码 1 Spring Boot Intellij 结束【英文标题】:Process finished with exit code 1 Spring Boot Intellij 【发布时间】:2018-03-07 19:18:44 【问题描述】:

当我运行我的项目时,我收到了消息“进程完成,退出代码 1”。我尝试了几种解决方案,但没有一个主题与我的错误相同。我的项目没有执行任何代码行,只是中止了进程。

【问题讨论】:

复制/粘贴命令行并在cmd.exe中运行是否有效? 这可能是由于 application.properties 文件中的属性/配置不正确而发生的。请重新查看配置并更正错误 【参考方案1】:
    从项目文件夹中删除文件夹 .idea。 从项目文件夹中删除所有 .iml。

【讨论】:

面临同样的问题,这个解决方案对我不起作用【参考方案2】:

我遇到了同样的问题。 Springboot 以代码 1 退出,没有错误。但那是我在不使用 Spring Initializer 的情况下创建项目的时候。

我建议您备份您的代码并使用 Spring Initializer(服务 URL:https://start.spring.io)重新创建项目,这应该可以工作。并且您将能够比较设置差异。

【讨论】:

感谢您的回复。我的项目是按照您的建议创建的,并且始终有效。我的问题是它在没有任何源代码修改的情况下停止工作。【参考方案3】:

它非常复杂,因为大多数情况下它可能是由于缺少属性而发生的。在我的情况下, application.properties 中未定义的以下属性导致此问题及其线索较少。希望对你有帮助

由于缺少任何 Bean 或组件中定义的服务器端口或任何其他占位符等属性,都可能导致此问题。验证所有属性和占位符。

  @Value(value = "$resource.path.accountNumbers")
            private Resource accountNumbers;
    application.properties--verify all properties/placeholders
    resource.path.accountNumbers=classpath:accountNumbers.properties

【讨论】:

【参考方案4】:

您必须将logging.level.root 设置为DEBUG 并阅读相关日志才能发现问题。 如果您的应用使用 application.yml 文件,请在开头或结尾添加(或编辑):

logging:
  level:
    root: DEBUG

如果您的应用使用application.properties,请在以下行添加(或编辑):

logging.level.root: DEBUG

例如,我的应用程序使用了一个未定义的属性,并且没有在常见日志中显示问题,启用调试级别日志记录后,我在日志中得到以下行:

Could not find key 'app.services.account.service' in any property source

【讨论】:

【参考方案5】:

尝试通过在 main 方法中放置“try-catch”块、围绕“run”方法调用并在“catch”中打印堆栈跟踪来获取堆栈跟踪,如下所示。

   public static void main(String[] args) 
    try 
        SpringApplication.run(MyApplication.class, args);
     catch (Exception e) 
        e.printStackTrace(); 
    

【讨论】:

这对我有帮助!但我需要使用Throwable 而不是Exception 才能捕获Errors。 很好,我可以检测到飞行路径问题。谢谢!! 这应该是一个公认的答案,因为它是通用的。我们不知道错误是什么,这种方式是检测它的最佳方式。例如,我的语法是 application.yml 的非法语法(我错过了 logging.pattern.console 配置中的 字符)。 我希望我早一天看到这个。这会为我节省很多时间。使用 throwable 是我找到问题的方法 这帮我找到了确切的原因!【参考方案6】:

遇到同样的问题。 通过指定父 Spring Boot Starter 项目修复。

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.2.RELEASE</version>
    <relativePath />
</parent>

【讨论】:

【参考方案7】:

在这种情况下可能不完全正确,但缺少日志也可能是由于 logback.xml 文件中缺少配置文件配置而导致的。

【讨论】:

【参考方案8】:

这个命令为我完成了这项工作:

mvn idea:idea

【讨论】:

【参考方案9】:

对于springboot项目,最常见的原因是org.springframework.beans.factory.BeanCreationException。搜索BeanCreationException,在每个构造函数处调试,调试工程。然后你会发现'beanName'有问题,然后你可以专注于bean。

例如:

【讨论】:

以上是关于进程以退出代码 1 Spring Boot Intellij 结束的主要内容,如果未能解决你的问题,请参考以下文章

设置 Spring Boot 的定时任务线程池以优雅退出

设置 Spring Boot 的定时任务线程池以优雅退出

设置 Spring Boot 的定时任务线程池以优雅退出

命令行应用程序的 Spring Boot 返回退出代码

Spring Boot 应用程序失败,退出代码为 0

spring boot jar 进程自动停止,自动终止,不能后台持续运行