Spring boot的官方实例为何无法运行

本人小白,学Java没多久,刚刚开始接触Spring boot,环境都配置好了,上手用官网上QuickStart试了一下,结果跑不起来。
代码如下:
图片说明

pom代码:

 <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.sae.sg.lhf</groupId>
  <artifactId>hello</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>SampleController</name>
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.3.0.RELEASE</version>
</parent>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>
</project>

Java代码:

 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);
    }
}

几乎是完全按照官网上的实例照搬下来的,但是编译之后报错:
图片说明

控制台最后输出也有ERROR:
[ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:1.3.0.RELEASE:run (default-cli) on project hello: An exception occured while running. null: InvocationTargetException: Unable to start embedded Tomcat servlet container: Tomcat connector in failed state -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

求教是什么原因,应该如何修改代码?

报错的那个问题已经解决了,右键项目选maven--->Update Project..就可以了,但是编译还是一直有错,浏览器访问localhost:8080也没有预期的效果

同样的问题,不知道你解决没有?

端口被占用了,
可以通过实现EmbeddedServletContainerCustomizer接口来实现:

  1. public class Application extends SpringBootServletInitializer implements EmbeddedServletContainerCustomizer {

  2. @Override
  3. protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
  4. return builder.sources(Application.class);
  5. }

  6. public static void main(String[] args) {
  7. SpringApplication.run(Application.class, args);
  8. }


楼上正解,创建Maven项目自带的App.java删掉。
是存在两个main方法入口造成的。