【问题标题】:Unable to serve using Spring Boot [duplicate]无法使用 Spring Boot 服务 [重复]
【发布时间】:2020-12-06 14:56:08
【问题描述】:

上下文

我刚刚开始学习 Spring Boot,并引导了一个非常基础的服务器。它只有以下代码:这是我的 Java 代码:

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication {

 public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
 }
}

这是我的 Maven 文件: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.0</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>demo</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <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>

问题

项目已成功构建,但它停止运行,而不是在 localhost 上提供服务。 代码没有给出任何错误。这是我无法调试的主要原因。

还有:

我使用 Spring Initializr 一个 vs 代码扩展来引导项目。

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

2020-12-06 16:15:14.055  INFO 75437 --- [           main] com.example.demo.DemoApplication         : Starting DemoApplication using Java 12.0.2 on mrWinsome.domain.name with PID 75437 (/Users/aman/Documents/SpringLearning/First/First/demo/target/classes started by aman in /Users/aman/Documents/SpringLearning/First/First/demo)
2020-12-06 16:15:14.058  INFO 75437 --- [           main] com.example.demo.DemoApplication         : No active profile set, falling back to default profiles: default
2020-12-06 16:15:14.850  INFO 75437 --- [           main] com.example.demo.DemoApplication         : Started DemoApplication in 1.688 seconds (JVM running for 2.253)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  23.861 s
[INFO] Finished at: 2020-12-06T16:15:14+05:30
[INFO] ------------------------------------------------------------------------

【问题讨论】:

  • 查看输出,您似乎正在通过mvn 启动应用程序。你执行了什么目标?调用mvn package 后,您应该在文件夹target 中找到一个*.jar 文件,您可以通过java -jar &lt;nameOfjar&gt;.jar 启动它。
  • 我只用了命令:mvn spring-boot:run
  • 请尝试将spring-boot-start-web 依赖项添加到您的项目中,如this answer 中所述

标签: java spring spring-boot maven


【解决方案1】:

添加spring-boot-started-web 依赖项。默认端口为8080。请在此处查看原始答案 Springboot Application exits immediately

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

【讨论】:

  • @Turing85 - 在这种情况下,最佳实践是什么?我引用了您上面评论中的原始答案。
  • 最佳做法是不回答问题并将其作为重复问题关闭。
猜你喜欢
  • 2019-05-29
  • 2018-12-12
  • 2018-06-07
  • 1970-01-01
  • 2020-09-27
  • 2019-06-14
  • 2018-08-26
  • 2018-09-01
  • 1970-01-01
相关资源
最近更新 更多