这篇文章将为大家详细讲解有关springboot项目以jar包运行的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
一、pom文件配置
打包方式改成jar
<packaging>jar</packaging>
配置可执行jar包的maven插件
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <!-- 如果有依赖外部jar,则必须加上此配置includeSystemScope--> <configuration> <includeSystemScope>true</includeSystemScope> </configuration> </plugin> </plugins> </build>
引入外部jar依赖(可选)
如果项目中引入了外部jar,可在项目根目录创建lib文件夹,将jar包放入lib中:
然后在pom文件中引入jar包:
PS:如果项目以war的形式打包,并且引入了外部jar,则maven插件的配置如下
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.6</version> <configuration> <webResources> <resource> <directory>${project.basedir}/lib</directory> <targetPath>WEB-INF/lib</targetPath> <includes> <include>**/*.jar</include> </includes> </resource> </webResources> </configuration> </plugin> </plugins> </build>
二、打包运行
打包
打包命令,很简单:
mvn install
运行
在生产和测试环境,一般都需要保持进程一直在后台运行,断开终端也不中断,则需要执行以下命令:
nohup java -jar test.jar &>>log.out &
三、配置文件优先级
spring boot会按以下顺序去寻找配置文件:
1、“当前目录”的/config文件夹下
“当前目录”下
classpath的/config文件夹下
classpath下
注意事项:
当前目录指的是执行java命令所在目录,如果是通过shell脚本执行的java命令,则当前目录指shell脚本所在目录,如果在shell脚本中cd到某一目录再执行的java命令,则当前目录就指cd后的目录。
不同优先级的配置文件都能被读到,但相同的配置项,优先级高的配置文件的配置会覆盖优先级低的配置文件的配置。
jar包内的配置文件不方便修改,生产上我们一般会将配置文件放在jar包外。
生产上可以直接将配置文件放在jar包所在目录同级的config目录,然后在脚本中cd到jar包所在目录,执行java命令就可以读到配置文件啦。
关于“springboot项目以jar包运行的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。