java - Spring Boot 应用程序在启动时终止

标签 java spring maven spring-boot

我已经使用 spring 创建了一个 spring boot 项目 initilizer .我使用的是 spring-boot-cli 版本 v1.5.3.RELEASE。

我只是尝试运行:

mvn clean install spring-boot:run -e

但是我的服务器不会继续运行,它会自动关闭。在端口 8080 上我没有其他连接:

2017-04-27 17:19:28.306  INFO 1895 --- [           main] com.example.EmaApplication               : Starting EmaApplication on robucslvm03 with PID 1895 (/home/ge/SpringTest/ema/target/classes started by ge in /home/ge/SpringTest/ema)
2017-04-27 17:19:28.308  INFO 1895 --- [           main] com.example.EmaApplication               : No active profile set, falling back to default profiles: default
2017-04-27 17:19:28.336  INFO 1895 --- [           main] s.c.a.AnnotationConfigApplicationContext : Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@6603c38b: startup date [Thu Apr 27 17:19:28 EEST 2017]; root of context hierarchy
2017-04-27 17:19:28.787  INFO 1895 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
2017-04-27 17:19:28.795  INFO 1895 --- [           main] com.example.EmaApplication               : Started EmaApplication in 0.688 seconds (JVM running for 5.119)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.263 s
[INFO] Finished at: 2017-04-27T17:19:28+03:00
[INFO] Final Memory: 29M/407M
[INFO] ------------------------------------------------------------------------
2017-04-27 17:19:28.919  INFO 1895 --- [       Thread-2] s.c.a.AnnotationConfigApplicationContext : Closing org.springframework.context.annotation.AnnotationConfigApplicationContext@6603c38b: startup date [Thu Apr 27 17:19:28 EEST 2017]; root of context hierarchy
2017-04-27 17:19:28.921  INFO 1895 --- [       Thread-2] o.s.j.e.a.AnnotationMBeanExporter        : Unregistering JMX-exposed beans on shutdown

后期编辑:

 package com.example;

    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestParam;
    import org.springframework.web.bind.annotation.RestController;

    @RestController
    public class DemoController {

        @RequestMapping(value="/echo")
            public String echo(@RequestParam(value="request", defaultValue="Hello!") String request) {
                return request;
            }
    }

还是不行。 编辑:这是 pom 文件:

<?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.example</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

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

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.3.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</artifactId>
        </dependency>

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

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

        </plugins>
    </build>


</project>

最佳答案

这是因为您的应用根本不是网络应用。

将其转换为 Web 应用程序以使其保持运行的最佳方法是将 Spring Boot Web 依赖项添加到您的 pom 中,以便 Tomcat 由 Spring Boot 自动引入依赖项以运行应用程序一个网络应用程序。

<!-- https://mvnrepository.com/artifact/org.springframework.boot/‌​spring-boot-starter-‌​web --> 
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- Edited to remove versioning and let Spring Boot Starter do it>
<version>1.5.3.RELEASE</version -->
</dependency>

关于java - Spring Boot 应用程序在启动时终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43660500/

相关文章:

spring - 如何将属性从Gradle传递到Spring Boot

java - 使 Spring Boot JSON 枚举反序列化严格,因此它不会默默地将无效值转换为 null

ssl - jetty Maven 依赖项

java - Java中如何限制Hangman的猜测次数

java - Java 中的事件监听器和处理程序有什么区别?

java - @RestController 抛出 HTTP 状态 406

java - 执行proguard-maven-plugin时出现 "CreateProcess error=206, The filename or extension is too long"

java - Selenium - Maven/TestNG : how can we add testng parameters in Java class while adding "main method" to create executable/runnable. jar 文件?

java - Android - EBADF(错误文件号)OnClickInfoMarker

java - java中本地类的对象?