springboot在服务器上的⼏种启动⽅式(⼩结)
⼀、使⽤内置的tomcat,通过java -jar的⽅式启动
⽐如:java -jar bms.jar
但是这种启动⽅式⼀旦关闭控制台或者crtl+c 退出此时应⽤就关闭了
所以我们需要换种⽅式
springboot中的maven插件,提供了⼀种很⽅便的类似于shell的开启、关闭、重启服务的操作。⽽且这种启动⽅式是让项⽬在后台运⾏的,关闭shell也不会使项⽬停⽌运⾏
1、⾸先,项⽬的pom添加下⾯的插件,然后maven install
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
</configuration>
</plugin>
</plugins>
</build>
2、将打包好的springboot jar包放⼊到服务器上,然后执⾏下⾯的命令
sudo ln -s /usr/local/server/bms.jar /etc/init.d/bms
3、上述命令执⾏完全之后,通过下⾯的命令就可以启动、关闭、重启项⽬了。
/etc/init.d/bms start
/
etc/init.d/bms stop
/etc/init.d/bms restart
当然,有些⼈启动的时候,可能会报下⾯的⼀个错误,这是权限不⾜
-bash: /etc/init.d/bms: Permission denied
执⾏下⾯命令就可解决问题
cd /etc/init.d/
chmod a+x bms 或 chmod 777 bms
⼆、使⽤war包⽅式,通过tomcat启动
1、修改打包⽅式
<packaging>war</packaging>
2、移除springboot内置tomcat,添加测试tomcat依赖。。修改l⽂件
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 打包的时候以war包形式,这⾥要把springboot集成的tomcat去除 -->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- 项⽬测试需要 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
spring启动流程面试回答</dependency>
3、修改启动类,
在application的同⽬录下,添加⼀个新的类,继承SpringBootServletInitializer并重写其configure⽅法代码如下
/**
* 修改启动类,继承 SpringBootServletInitializer 并重写 configure ⽅法
*/
publicclassSpringBootStartApplication extends SpringBootServletInitializer {
@Override
protectedSpringApplicationBuilder configure(SpringApplicationBuilderbuilder) {
// 注意这⾥要指向原先⽤main⽅法执⾏的Application启动类
returnbuilder.sources(BootStrap.class);
}
}
4、将war包放到服务器上的tomcat下,重启即可。。。
三、MyEclipse启动
右键单击RestfulDemo类->Run As->Java Application
启动完成
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论