Spring boot 为什么我的Spring Boot应用程序一运行就会关闭?

Spring boot 为什么我的Spring Boot应用程序一运行就会关闭?,spring-boot,Spring Boot,我使用Spring初始化器来设置我的Spring应用程序。只要我运行应用程序,它就会毫无错误地退出。控制台会记录以下内容: 2021-02-22 13:31:20.206 INFO 68562 --- [extShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' 2021-02-22 13:31:20.216

我使用Spring初始化器来设置我的Spring应用程序。只要我运行应用程序,它就会毫无错误地退出。控制台会记录以下内容:

2021-02-22 13:31:20.206  INFO 68562 --- [extShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'
2021-02-22 13:31:20.216  INFO 68562 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown initiated...
2021-02-22 13:31:20.294  INFO 68562 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown completed.
我试着改变SpringBootStarter的父版本,但似乎仍然不起作用。我试着重建这个项目,但没有成功。你能告诉我我做错了什么吗?它甚至不返回任何错误。它只是不在服务器上运行

以下是我的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 https://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.4.2</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.manjitmentor.sms</groupId>
    <artifactId>sms</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>
    <name>sms</name>
    <description>Student Management System project by Java Full Stack Mentor Manjit Shakya.</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>logback-classic</groupId>
                    <artifactId>ch.qos.logback</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>log4j-over-slf4j</groupId>
                    <artifactId>org.slf4j</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.modelmapper/modelmapper -->
        <dependency>
            <groupId>org.modelmapper</groupId>
            <artifactId>modelmapper</artifactId>
            <version>2.3.9</version>
        </dependency>


        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <!--Logging-->

        <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.30</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/log4j/log4j -->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>
完整日志:

/Library/Java/JavaVirtualMachines/amazon-corretto-11.jdk/Contents/Home/bin/java -javaagent:/Applications/IntelliJ IDEA CE.app/Contents/lib/idea_rt.jar=56405:/Applications/IntelliJ IDEA CE.app/Contents/bin -Dfile.encoding=UTF-8 -classpath /Users/aakashthakur-work/Documents/F1SoftManjitShakyaTraining/sms/target/classes:/Users/aakashthakur-work/.m2/repository/org/springframework/boot/spring-boot-starter-data-jpa/2.4.2/spring-boot-starter-data-jpa-2.4.2.jar:/Users/aakashthakur-work/.m2/repository/org/springframework/boot/spring-boot-starter-aop/2.4.2/spring-boot-starter-aop-2.4.2.jar:/Users/aakashthakur-work/.m2/repository/org/springframework/spring-aop/5.3.3/spring-aop-5.3.3.jar:/Users/aakashthakur-work/.m2/repository/org/aspectj/aspectjweaver/1.9.6/aspectjweaver-1.9.6.jar:/Users/aakashthakur-work/.m2/repository/org/springframework/boot/spring-boot-starter-jdbc/2.4.2/spring-boot-starter-jdbc-2.4.2.jar:/Users/aakashthakur-work/.m2/repository/com/zaxxer/HikariCP/3.4.5/HikariCP-3.4.5.jar:/Users/aakashthakur-work/.m2/repository/org/springframework/spring-jdbc/5.3.3/spring-jdbc-5.3.3.jar:/Users/aakashthakur-work/.m2/repository/jakarta/transaction/jakarta.transaction-api/1.3.3/jakarta.transaction-api-1.3.3.jar:/Users/aakashthakur-work/.m2/repository/jakarta/persistence/jakarta.persistence-api/2.2.3/jakarta.persistence-api-2.2.3.jar:/Users/aakashthakur-work/.m2/repository/org/springframework/data/spring-data-jpa/2.4.3/spring-data-jpa-2.4.3.jar:/Users/aakashthakur-work/.m2/repository/org/springframework/data/spring-data-commons/2.4.3/spring-data-commons-2.4.3.jar:/Users/aakashthakur-work/.m2/repository/org/springframework/spring-orm/5.3.3/spring-orm-5.3.3.jar:/Users/aakashthakur-work/.m2/repository/org/springframework/spring-context/5.3.3/spring-context-5.3.3.jar:/Users/aakashthakur-work/.m2/repository/org/springframework/spring-tx/5.3.3/spring-tx-5.3.3.jar:/Users/aakashthakur-work/.m2/repository/org/springframework/spring-beans/5.3.3/spring-beans-5.3.3.jar:/Users/aakashthakur-work/.m2/repository/org/springframework/spring-aspects/5.3.3/spring-aspects-5.3.3.jar:/Users/aakashthakur-work/.m2/repository/org/springframework/boot/spring-boot-starter-web/2.4.2/spring-boot-starter-web-2.4.2.jar:/Users/aakashthakur-work/.m2/repository/org/springframework/boot/spring-boot-starter/2.4.2/spring-boot-starter-2.4.2.jar:/Users/aakashthakur-work/.m2/repository/org/springframework/boot/spring-boot-starter-logging/2.4.2/spring-boot-starter-logging-2.4.2.jar:/Users/aakashthakur-work/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar:/Users/aakashthakur-work/.m2/repository/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar:/Users/aakashthakur-work/.m2/repository/org/apache/logging/log4j/log4j-to-slf4j/2.13.3/log4j-to-slf4j-2.13.3.jar:/Users/aakashthakur-work/.m2/repository/org/apache/logging/log4j/log4j-api/2.13.3/log4j-api-2.13.3.jar:/Users/aakashthakur-work/.m2/repository/org/slf4j/jul-to-slf4j/1.7.30/jul-to-slf4j-1.7.30.jar:/Users/aakashthakur-work/.m2/repository/org/yaml/snakeyaml/1.27/snakeyaml-1.27.jar:/Users/aakashthakur-work/.m2/repository/org/springframework/boot/spring-boot-starter-json/2.4.2/spring-boot-starter-json-2.4.2.jar:/Users/aakashthakur-work/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.11.4/jackson-databind-2.11.4.jar:/Users/aakashthakur-work/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.11.4/jackson-annotations-2.11.4.jar:/Users/aakashthakur-work/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.11.4/jackson-core-2.11.4.jar:/Users/aakashthakur-work/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.11.4/jackson-datatype-jdk8-2.11.4.jar:/Users/aakashthakur-work/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.11.4/jackson-datatype-jsr310-2.11.4.jar:/Users/aakashthakur-work/.m2/repository/com/fasterxml/jackson/module/jackson-module-parameter-names/2.11.4/jackson-module-parameter-names-2.11.4.jar:/Users/aakashthakur-work/.m2/repository/org/springframework/spring-web/5.3.3/spring-web-5.3.3.jar:/Users/aakashthakur-work/.m2/repository/org/springframework/spring-webmvc/5.3.3/spring-webmvc-5.3.3.jar:/Users/aakashthakur-work/.m2/repository/org/springframework/spring-expression/5.3.3/spring-expression-5.3.3.jar:/Users/aakashthakur-work/.m2/repository/org/modelmapper/modelmapper/2.3.9/modelmapper-2.3.9.jar:/Users/aakashthakur-work/.m2/repository/org/springframework/boot/spring-boot-devtools/2.4.2/spring-boot-devtools-2.4.2.jar:/Users/aakashthakur-work/.m2/repository/org/springframework/boot/spring-boot/2.4.2/spring-boot-2.4.2.jar:/Users/aakashthakur-work/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/2.4.2/spring-boot-autoconfigure-2.4.2.jar:/Users/aakashthakur-work/.m2/repository/mysql/mysql-connector-java/8.0.22/mysql-connector-java-8.0.22.jar:/Users/aakashthakur-work/.m2/repository/org/projectlombok/lombok/1.18.16/lombok-1.18.16.jar:/Users/aakashthakur-work/.m2/repository/jakarta/annotation/jakarta.annotation-api/1.3.5/jakarta.annotation-api-1.3.5.jar:/Users/aakashthakur-work/.m2/repository/jakarta/xml/bind/jakarta.xml.bind-api/2.3.3/jakarta.xml.bind-api-2.3.3.jar:/Users/aakashthakur-work/.m2/repository/jakarta/activation/jakarta.activation-api/1.2.2/jakarta.activation-api-1.2.2.jar:/Users/aakashthakur-work/.m2/repository/org/springframework/spring-core/5.3.3/spring-core-5.3.3.jar:/Users/aakashthakur-work/.m2/repository/org/springframework/spring-jcl/5.3.3/spring-jcl-5.3.3.jar:/Users/aakashthakur-work/.m2/repository/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar:/Users/aakashthakur-work/.m2/repository/log4j/log4j/1.2.17/log4j-1.2.17.jar:/Users/aakashthakur-work/.m2/repository/org/hibernate/hibernate-core/5.4.27.Final/hibernate-core-5.4.27.Final.jar:/Users/aakashthakur-work/.m2/repository/org/jboss/logging/jboss-logging/3.4.1.Final/jboss-logging-3.4.1.Final.jar:/Users/aakashthakur-work/.m2/repository/javax/persistence/javax.persistence-api/2.2/javax.persistence-api-2.2.jar:/Users/aakashthakur-work/.m2/repository/org/javassist/javassist/3.27.0-GA/javassist-3.27.0-GA.jar:/Users/aakashthakur-work/.m2/repository/net/bytebuddy/byte-buddy/1.10.19/byte-buddy-1.10.19.jar:/Users/aakashthakur-work/.m2/repository/antlr/antlr/2.7.7/antlr-2.7.7.jar:/Users/aakashthakur-work/.m2/repository/org/jboss/spec/javax/transaction/jboss-transaction-api_1.2_spec/1.1.1.Final/jboss-transaction-api_1.2_spec-1.1.1.Final.jar:/Users/aakashthakur-work/.m2/repository/org/jboss/jandex/2.1.3.Final/jandex-2.1.3.Final.jar:/Users/aakashthakur-work/.m2/repository/com/fasterxml/classmate/1.5.1/classmate-1.5.1.jar:/Users/aakashthakur-work/.m2/repository/javax/activation/javax.activation-api/1.2.0/javax.activation-api-1.2.0.jar:/Users/aakashthakur-work/.m2/repository/org/dom4j/dom4j/2.1.3/dom4j-2.1.3.jar:/Users/aakashthakur-work/.m2/repository/org/hibernate/common/hibernate-commons-annotations/5.1.2.Final/hibernate-commons-annotations-5.1.2.Final.jar:/Users/aakashthakur-work/.m2/repository/javax/xml/bind/jaxb-api/2.3.1/jaxb-api-2.3.1.jar:/Users/aakashthakur-work/.m2/repository/org/glassfish/jaxb/jaxb-runtime/2.3.3/jaxb-runtime-2.3.3.jar:/Users/aakashthakur-work/.m2/repository/org/glassfish/jaxb/txw2/2.3.3/txw2-2.3.3.jar:/Users/aakashthakur-work/.m2/repository/com/sun/istack/istack-commons-runtime/3.0.11/istack-commons-runtime-3.0.11.jar:/Users/aakashthakur-work/.m2/repository/com/sun/activation/jakarta.activation/1.2.2/jakarta.activation-1.2.2.jar:/Users/aakashthakur-work/.m2/repository/org/hibernate/hibernate-entitymanager/5.4.27.Final/hibernate-entitymanager-5.4.27.Final.jar com.manjitmentor.sms.SmsApplication

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::                (v2.4.2)

2021-02-22 15:03:29.750  INFO 74414 --- [  restartedMain] com.manjitmentor.sms.SmsApplication      : Starting SmsApplication using Java 11.0.9.1 on Aakashs-MacBook-Air.local with PID 74414 (/Users/aakashthakur-work/Documents/F1SoftManjitShakyaTraining/sms/target/classes started by aakashthakur-work in /Users/aakashthakur-work/Documents/F1SoftManjitShakyaTraining/sms)
2021-02-22 15:03:29.757  INFO 74414 --- [  restartedMain] com.manjitmentor.sms.SmsApplication      : No active profile set, falling back to default profiles: default
2021-02-22 15:03:29.949  INFO 74414 --- [  restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable
2021-02-22 15:03:31.312  INFO 74414 --- [  restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode.
2021-02-22 15:03:31.431  INFO 74414 --- [  restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 97 ms. Found 1 JPA repository interfaces.
2021-02-22 15:03:32.292  INFO 74414 --- [  restartedMain] o.hibernate.jpa.internal.util.LogHelper  : HHH000204: Processing PersistenceUnitInfo [name: default]
2021-02-22 15:03:32.448  INFO 74414 --- [  restartedMain] org.hibernate.Version                    : HHH000412: Hibernate ORM core version 5.4.27.Final
2021-02-22 15:03:32.841  INFO 74414 --- [  restartedMain] o.hibernate.annotations.common.Version   : HCANN000001: Hibernate Commons Annotations {5.1.2.Final}
2021-02-22 15:03:33.179  INFO 74414 --- [  restartedMain] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2021-02-22 15:03:33.817  INFO 74414 --- [  restartedMain] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.
2021-02-22 15:03:33.930  INFO 74414 --- [  restartedMain] org.hibernate.dialect.Dialect            : HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect
2021-02-22 15:03:35.897  INFO 74414 --- [  restartedMain] o.h.e.t.j.p.i.JtaPlatformInitiator       : HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
2021-02-22 15:03:35.922  INFO 74414 --- [  restartedMain] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2021-02-22 15:03:35.959  INFO 74414 --- [  restartedMain] o.s.b.d.a.OptionalLiveReloadServer       : LiveReload server is running on port 35729
2021-02-22 15:03:36.963  INFO 74414 --- [  restartedMain] com.manjitmentor.sms.SmsApplication      : Started SmsApplication in 8.539 seconds (JVM running for 10.162)
2021-02-22 15:03:36.968  INFO 74414 --- [  restartedMain] com.manjitmentor.sms.SmsApplication      : 

,d88~~\      e    e      ,d88~~\ 
8888        d8b  d8b     8888    
`Y88b      d888bdY88b    `Y88b   
 `Y88b,   / Y88Y Y888b    `Y88b, 
   8888  /   YY   Y888b     8888 
\__88P' /          Y888b \__88P' 
                                 
2021-02-22 15:03:36.975  INFO 74414 --- [extShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'
2021-02-22 15:03:36.982  INFO 74414 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown initiated...
2021-02-22 15:03:37.037  INFO 74414 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown completed.

Process finished with exit code 0

我认为这会造成麻烦,你应该把它移除

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>
因此,请简要概述您为什么要面对这个问题:

您尝试使用外部tomcat,并向应用程序指定您将通过运行时
提供的
向其提供它。但是应用程序已经将它嵌入其中,spring boot默认创建一个
jar
文件,
tomcat
需要一个
war
文件。此外,tomcat服务器不会启动您的主方法,您需要以普通spring应用程序的形式启动应用程序

要使用外部
tomcat
服务器,请执行以下步骤:

  • 将打包设置为生成
    war

    war

  • 添加外部
    tomcat
    依赖项

  • 并进行一系列配置,使其作为一个
    Spring应用程序启动,并在tomcat上添加Spring启动应用程序的外部配置


    检查这篇文章,我认为它将完成整个想法

    我以前也有类似的问题。我不知道它是如何工作的,正如你可能猜到的,我是一个初学者

    以下是我解决问题的方法。

  • 右键单击项目并更新Maven项目
  • 然后关闭生成器并重新启动设备
  • 再次运行项目

  • 请随时向我通报结果。

    请提供完整的跟踪日志。@GiorgiTsiklauri刚刚用完整日志更新了问题。你能帮帮我吗?我做错了什么?你的Tomcat服务器有问题。也许是冲突什么的。必须检查您的
    pom.xml
    尝试将
    --debug
    作为命令行参数启动应用程序。这将输出条件评估报告,该报告将显示Tomcat没有自动配置的原因。我更新了我的答案,我试图为您提供整个事情的高度概述。希望这将有助于检查链接,以了解完整的事情。继续前进。:)是,如果您想使用自己的依赖项,则从Spring引导依赖项中排除现有的依赖项。这对于所有依赖项几乎都是合法的。我刚刚开始使用Spring。我首先将Servlet和JSP与GlassFish服务器一起使用,以了解web应用程序中的所有内容是如何工作的。虽然Spring使一切变得非常简单和整洁,但Spring的内部工作对我来说更难理解。考虑到您的理解,您会建议我怎么做。当然,
    Spring
    尤其是
    SpringBoot
    有定义良好的通用规范实现。实际上,
    SpringBoot
    为您做了一切。我相信
    javaee
    已经足够老了,好吧,我知道
    Jakarta EE
    给了我们新鲜的空气,但与春天相比,它为我们提供了一个完整的生态系统。我建议你跟上时代,使用最新的技术。它们帮助您构建出色的软件,灵活且非常安全。我还是一名初级软件工程师,这些是一位架构师在我以前的工作中给我的建议。所以我建议你也这样做。关于对
    Spring
    的理解:它是一个需要掌握的巨大框架。一次放慢脚步。阅读其他人的文章,试着理解容器、依赖注入等概念。随着你对知识的理解,你将学习更高级的东西。继续:)亚里士多德的回答帮助了我。我已经证实了。过来看!他还更新了他的答案,以帮助我理解这在内部是如何运作的。啊!这就是它的工作原理。。。谢谢
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
                <scope>provided</scope>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    
            <dependency>
                <groupid>org.springframework.boot</groupid>
                <artifactid>spring-boot-starter-tomcat</artifactid>
                <scope>provided</scope>
            </dependency>
    
    <dependency>
    <groupid>org.springframework.boot</groupid>
    <artifactid>spring-boot-starter-web</artifactid>
                <exclusions>
                    <exclusion>
                        <groupid>org.springframework.boot</groupid>
                        <artifactid>spring-boot-starter-tomcat</artifactid>
                    </exclusion>
                </exclusions>
    </dependency>