1.把项目打成Jar包
在cmd下切成到你的springboot项目路径,使用如下maven命令
mvn install
这个过程会把你项目pom文件中依赖的jar包下载到整合的Jar包中
出现BUILD SUCCESS说明创建成功
2.本地测试
在上一个目录的基础下进入target目录,输入jdk中运行jar包的命令:
java -jar movie2.1-0.0.1-SNAPSHOT.jar
(中间的xxx.jar替换成你的项目名)
cmd中出现springboot启动界面,并在浏览器输入localhost成功运行
3.运行效果
4.发布到linux云服务器
4.1配置切换
由于本地环境和linux的环境不同,一些配置信息如图片静态资源映射了外部路径,端口号不同等原因无法与linux适配置,比如我本地的图片映射路径是d:/upload,但linux上必然无法找到这个目录(没有兼容性冲突可以忽略这步跳到4.2,有则按以下步骤改完配置后重新打成Jar包)。
一种方法是直接在application.properties文件中修改相应数据,另一种解决方法是新增linux和windows环境的properties文件并在启动时指定用哪个,我这里使用了第二种。
1.创建文件 (命名一定要遵循application-xxx的格式)
2.linux配置文件内容
注:只需要将需更改的配置写到linux和windows这两个文件中,其它的配置保留到application.properties中。
3.在application.properties添加如下语句(设置默认启动环境)
#默认引入的配置文件 (=号后面写你的自定义的配置文件名后半部分)
spring.profiles.active=windows
4.启动时指定配置文件 (这里我指定了windows,linux同理)
java -jar movie2.1-0.0.1-SNAPSHOT.jar --spring.profiles.active=windows
这样就可以通过application.properties里的spring.profiles.active 灵活地来切换使用哪个环境了。
4.2 上传jar包,启动项目
只需将target目录下的xxx.jar通过xftp等软件上传到云服务器上的任意目录即可
切换到你上传jar的路径,并输入jdk命令:
java -jar movie2.1-0.0.1-SNAPSHOT.jar --spring.profiles.active=linux
springboot项目正常启动:
然后就可以通过的云服务器的地址和设置的端口访问项目啦
4.3 后台运行
在xshell命令窗口中直接启动会导致项目随窗口关闭而结束运行,通过日志输出的方式可以实现springboot后台运行
nohup java -jar movie2.1-0.0.1-SNAPSHOT.jar --spring.profiles.active=linux >movie.log 2>&1 &
命令详解:
nohup:不挂断地运行命令,退出帐户之后继续运行相应的进程。
日志文件名.log:是nohup把command的输出重定向到当前目录的指定的“日志文件名.log”文件中,即输出内容不打印到屏幕上,而是输出到”日志文件名.log”文件中。不指定文件名会在当前目录创建nohup.out,如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。
2>&1:2就是标准错误,1是标准输出,该命令相当于把标准错误重定向到标准输出么。这里&相当于标准错误等效于标准输出,即把标准错误和标准输出同时输出到指定的“日志文件名.log”文件中。
java -jar 自己的springboot项目.jar:执行springboot的项目,如果单单只执行该命令,linux只会短暂的运行该项目,当退出控制台后会自动关闭该项目。
最后的&:让改作业在后台运行。
日志输出参考:https://blog.csdn.net/yuhui123999/article/details/80593750