【问题标题】:How to run Spring Boot quick start code如何运行 Spring Boot 快速启动代码
【发布时间】:2017-09-28 18:05:14
【问题描述】:

我是 Spring 和 Spring Boot 的新手,我正在尝试。我在运行来自 https://projects.spring.io/spring-boot/ 的代码示例时遇到问题。

package hello;

import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.stereotype.*;
import org.springframework.web.bind.annotation.*;

@Controller
@EnableAutoConfiguration
public class SampleController {

    @RequestMapping("/")
    @ResponseBody
    String home() {
        return "Hello World!";
    }

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

我发出了mvn install,一切似乎都很好。但后来我发出了java -cp target/myArtifId-1.0-SNAPSHOT.jar hello.SampleController 并抛出了 ClassNotFoundException。

如何运行此代码示例?

【问题讨论】:

标签: spring spring-boot


【解决方案1】:

根据spring boot documentation,您应该可以使用以下命令运行您的应用程序:

java -jar target/myArtifId-1.0-SNAPSHOT.jar

Spring Boot 生成一个可执行的 jar,无需使用 main 方法指定 java 类。这也是您可以包含另一个具有main 方法的类的原因。

【讨论】:

  • 为了 OP 的利益:这实际上是关于 jars,但您可以查看 MANIFEST.MF 并查看 Main-Class 是什么。在这种情况下,它是org.springframework.boot.loader.JarLauncher。所以上面的命令等价于:java -cp target/myArtifId-1.0-SNAPSHOT.jar org.springframework.boot.loader.JarLauncher
  • 在 Tomcat 服务器启动后,您可以 1) 发出 curl localhost:8080,或 2) 将浏览器指向 localhost:8080。或者如果通过网络连接,您当然可以将浏览器指向xx.xx.xx.xx:8080。然后您应该会看到“Hello World!”。
【解决方案2】:

我更喜欢使用 Spring Boot Maven Plugin 的 run 目标在单个命令中编译和运行它:

mvn spring-boot:run

【讨论】:

    猜你喜欢
    • 2015-02-08
    • 2020-03-01
    • 2021-10-19
    • 2018-04-22
    • 1970-01-01
    • 1970-01-01
    • 2018-12-10
    • 2015-09-23
    相关资源
    最近更新 更多