启动类:@SpringBootApplication
public class MySpringBootApplication {
              public static void main(String[] args) {
SpringApplication.run(MySpringBootApplication.class, args);
}
}Controller:@RestController
public class HelloWorldController { @RequestMapping("/hello")
public String hello(){
return "Hello World!!!";
}
}application.yml  端口号修改成8081:server:
  port: 8081按照网上的教程,我修改启动类@SpringBootApplication
public class MySpringBootApplication extends SpringBootServletInitializer {    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(MySpringBootApplication .class);
    }
    public static void main(String[] args) throws Exception {
        SpringApplication.run(MySpringBootApplication .class, args);
    }
}pom.xml修改 <packaging>war</packaging>dependencies下面添加<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope>
</dependency>运行maven clean install  获得war包,部署到本地windows tomcat里面,启动tomcat,war包并没有自动解压,手动解压也不能访问到这个项目

解决方案 »

  1.   

    你直接启动main方法就行了,包也打jar包,打包的时候把依赖lib可以打一起,也可以单独丢到一个目录,指定好classpath即可
    你丢tomcat里,那人家搞这么多不是白搞了?看这样式人家就是要抛弃容器,你这是舍本求末打包的话自己去找maven插件
    maven-dependency-plugin 将依赖包丢到具体目录下
    maven-jar-plugin  指定main方法所在类
    直接执行java -jar  jar包路径  即可跑起来了,jvm参数自己看着办
      

  2.   

    项目肯定要部署到服务器里面的啊,服务器里面怎么运行main方法,我这样war打包方式为什么不可以,我打包就是用的maven打包的
      

  3.   

    https://baike.baidu.com/item/Spring%20Boot/20249767?fr=aladdin第二点,无需部署,那就是打jar包即可,跟你在IDE里面一样跑就可以了,只是启动方式改成命令了我当然知道你用maven打包,不然我怎么告诉你插件你实在想丢到容器里面,自己看
    http://blog.csdn.net/catoop/article/details/50588851
      

  4.   

    windows的tomcat war放到里面重启tomcat war不会自动解压,但是部署到linux里面,重启tomcat就会自动解压
      

  5.   

    进入项目根目录,运行命令mvn  spring-boot:run不就跑起来了