一: 使用jar包的方式部署
1.使用jar不需要放到tomcat的webapp里面,直接新建一个文件夹,把项目放到里面就行了
使用java -jar 项目名.jar 这种方式部署ctl+c后项目就停了.
可以使用后台部署: java -jar/ 项目名.jar >nohup.out 2>&1& 或 nohup java -jar >nohup.out 2>&1&
nohupt.out是将标准输出日志打印到指定的文件nohup.out
2>&1输出所有的日志文件
二:使用war方式部署
1.将项目放到webapp目录下
2.加入如下配置,主要就是排除boot自带的tomcat和加入servlet,不加sevlet会报错
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>compile</scope>
</dependency>
<!-- 移除之后会报错,加入下面的依赖 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
3.启动类
@SpringBootApplication
//@ImportResource(locations = {"classpath:config.xml"})
public class SpringbootfirstApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(SpringbootfirstApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
// 注意这里要指向原先用main方法执行的Application启动类
return builder.sources(SpringbootfirstApplication.class);
}
}
4.将项目打包成war包,修改pom的package标签
5.将项目上传,重启tomcat 切换到tomcat的bin文件下,./shutdown.sh -->>./startup.sh
6.访问:localhost:8080/项目名称
有博客说会出现启动失败的情况,因为springboot最低支持tomcat 8.5 ,我没出现这个问题,因为我用的是8.5.37,如果出现这问题可以指定我们在服务器安装的tomcat的版本
<properties>
<tomcat.version>7.0.47</tomcat.version>
</properties>