Springboot应用程序立即退出

时间:2018-11-27 03:16:03

标签: spring spring-boot intellij-idea

当我运行spring boot应用程序时,它会立即退出(使用exit code 0):

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

2018-11-27 14:08:31.219  INFO 94920 --- [  restartedMain] c.springbootsecurity.jwt.JwtApplication  : Starting JwtApplication on 1000810002637M.local with PID 94920 (/Users/723305/Documents/spring/springbootSecure/target/classes started by 723305 in /Users/723305/Documents/spring/springbootSecure)
2018-11-27 14:08:31.222  INFO 94920 --- [  restartedMain] c.springbootsecurity.jwt.JwtApplication  : No active profile set, falling back to default profiles: default
2018-11-27 14:08:31.252  INFO 94920 --- [  restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable
2018-11-27 14:08:31.722  INFO 94920 --- [  restartedMain] o.s.b.d.a.OptionalLiveReloadServer       : LiveReload server is running on port 35729
2018-11-27 14:08:31.743  INFO 94920 --- [  restartedMain] c.springbootsecurity.jwt.JwtApplication  : Started JwtApplication in 0.752 seconds (JVM running for 1.294)

Process finished with exit code 0

我的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>

    <groupId>com.springbootSecurity</groupId>
    <artifactId>jwt</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>jwt</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.0.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

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

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
        </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>

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

        </plugins>
    </build>        
</project>

6 个答案:

答案 0 :(得分:5)

我只是遇到了IntelliJ问题(即使使用spring-boot-starter-web也存在问题,可以通过编辑启动器并选中Include dependencies with "Provided" scope选项来解决此问题。

Web应用程序在命令行上运行正常。

答案 1 :(得分:3)

由于您在pom.xml中进行了春季启动,因此未将其声明为入门Web项目 立即关闭,这是一种预期的行为,现在要作为Web容器运行,您需要在pom.xml中添加以下代码。

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

答案 2 :(得分:0)

我看不到任何问题。

Process finished with exit code 0

这表示程序愉快地结束了。

鉴于您的应用程序不具有spring-boot-starter-web依赖性,那么它将不会启动任何服务器,也不会等待任何请求。

它与main方法非常相似,后者在主代码完成后便没有任何要执行或完成的操作。

答案 3 :(得分:0)

我只是遇到了同样的问题。 spring-boot-starter-web之类的依赖项或删除spring-boot-starter-tomcat的依赖项均无效。我正在使用IntelliJ Idea IDE社区版本。我认为这与IntelliJ Idea社区版本有关,因为他们提到社区版本不支持spring,仅在最终(商业)版本中不支持spring,至少在Mac中如此。

https://www.jetbrains.com/idea/download/#section=mac

我之所以想,是因为我切换到Visual Studio代码,安装了用于春季启动的必要插件,并且可以使用我现有的pom.xml文件立即使用。

我当前的依赖项是:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <scope>runtime</scope>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

也许值得一提的是,在没有spring-boot-starter-tomcat依赖的情况下也可以使用。

答案 4 :(得分:0)

确保您运行 Maven Build 以安装所有依赖项

maven

答案 5 :(得分:-2)

请使用以下字符串检查您的application.properties文件:

server.port=8090

此端口可能已被另一个进程占用。 尝试更改它并重建。

这对我来说很有帮助。在更改端口之前,SpringBoot应用程序退出时没有任何有意义的报告,表明它无法捕获端口8090