第一种(本地开发使用)
在项目的根目录下有一个带有main函数的Application类,可以直接执行这个main函数。(使用的是SpringBoot内置的tomcat)
第二种(本地开发使用)
在pom文件中配置使用启动SpringBoot的maven插件。配置如下
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
启动的使用可以使用mvn spring-boot:run启动,我用的是IDEA的maven插件
第三种(线上部署使用)
使用maven工具打包(jar包),打包时要注意,由于模块与模块之间的依赖关系,所以打包是要有顺序的,需要先打被依赖的模块;你也可以在父类模块上打一个包。我用的是IDEA工具开发。打包流程先打开打包跳过测试,然后分别执行clean和install
还可以通过命令打包,先点击上图中带有小m的按钮。要注意是否是选中的要打包的项目
打完包在你的项目用的target目录下会有个一jar文件
上传到服务器,然后执行java -jar命令启动,你也可以在命令中加上JVM的优化参数和一些环境参数。我下面这个就加了环境参数,你也可以从这里指定你启动时的配置文件,和指定日志输出文件(需要特别注意:一定要在命令的最后加一个&符号,要不然,你Ctrl+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
前面是你服务器上jar包路径,后面是你启动项目的名字
3、上述命令执行完全之后,通过下面的命令就可以启动、关闭、重启项目了
/etc/init.d/bms start
/etc/init.d/bms stop
/etc/init.d/bms restart
第五种方式(线上部署,使用外部Tomcat)
首先修改打包方式
<packaging>war</packaging>
2、移除springboot内置tomcat,添加测试tomcat依赖。。修改pom.xml文件
<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>
</dependency>
3、修改启动类
在application的同目录下,添加一个新的类,继承SpringBootServletInitializer并重写其configure方法
/**
* 修改启动类,继承 SpringBootServletInitializer 并重写 configure 方法
*/
publicclassSpringBootStartApplication extends SpringBootServletInitializer {
@Override
protectedSpringApplicationBuilder configure(SpringApplicationBuilderbuilder) {
// 注意这里要指向原先用main方法执行的Application启动类
returnbuilder.sources(BootStrap.class);
}
}
4、将war包放到服务器上的tomcat下,重启即可。。。