一. 以maven多模块项目为例
1. "graduation-bbs-web"模块为项目启动类存储模块,打包时在pom.xml
文件中把打包方式改为jar
2. 项目使用maven打包之后把jar包上传到服务器,使用以下命令运行jar包
# 配置好jdk的前提下直接运行(但是关闭xshell等窗口会停止运行)
java -jar ***.jar
# 后台运行指定jar包(默认将程序的所有日志打到jar包所在目录的nohup.out文件中)
nohup java -jar ***.jar --server.port=端口号 &
注:如果运行报***--1.0-SNAPSHOT.jar中没有主清单属性
,解决方法是在项目启动类所在模块的pom文件中加上以下配置(这里加在了"graduation-bbs-web"模块的pom文件中),之后重新打包部署运行
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal><!--可以把依赖的包都打包到生成的Jar包中 -->
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
注:SpringBoot+Thyemleaf开发环境正常,打包jar发到服务器就报错Template might not exist or might not be accessible
<!--原因之一,可能是因为application.properties配置文件中thymeleaf默认配置templates后跟的有"/",所以代码return前不需要再加"/"-->
#thymeleaf
spring.thymeleaf.prefix=classpath:/templates/ (这里已经有 / 了,return 的路径不要 / 开头)