springboot项目以jar包运行的操作方法
什么是Spring Boot
Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是 Spring Boot 其实不是什么新的框架,它默认配置了很多框架的使用方式,就像 Maven 整合了所有的 Jar 包,Spring Boot 整合了所有的框架。
公司的springboot项目本来是打war包的,突然要求改成jar包,一路上碰到一些坑,在此记录一下。
一、pom文件配置
1、打包方式改成jar
<packaging>jar</packaging>
2、配置可执行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>
3、引入外部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>
二、打包运行
1、打包
打包命令,很简单:
mvn install
2、运行
在生产和测试环境,一般都需要保持进程一直在后台运行,断开终端也不中断,则需要执行以下命令:
nohup java -jar test.jar &>>log.out &
三、配置文件优先级
spring boot会按以下顺序去寻找配置文件:
1、“当前目录”的/config文件夹下
2、“当前目录”下
3、classpath的/config文件夹下
4、classpath下
注意事项:
当前目录指的是执行java命令所在目录,如果是通过shell脚本执行的java命令,则当前目录指shell脚本所在目录,如果在shell脚本中cd到某一目录再执行的java命令,则当前目录就指cd后的目录。
不同优先级的配置文件都能被读到,但相同的配置项,优先级高的配置文件的配置会覆盖优先级低的配置文件的配置。
jar包内的配置文件不方便修改,生产上我们一般会将配置文件放在jar包外。
生产上可以直接将配置文件放在jar包所在目录同级的config目录,然后在脚本中cd到jar包所在目录,执行java命令就可以读到配置文件啦。
参考:
到此这篇关于springboot项目以jar包运行的操作方法的文章就介绍到这了,更多相关springboot jar包内容请搜索无名以前的文章或继续浏览下面的相关文章希望大家以后多多支持无名!
同类资源
- Java基于springboot教务管理系统
Java基于springboot教务管理系统本文件感兴趣的可以参考一下,帮助学校管理教务系统,用一个帐号解决学校教务...
- springBootNoMaven实现定时任务功能
springBootNoMaven本文件感兴趣的可以参考一下,不使用maven环境,创建springboot项目,实现了定时任务功能简单...
- SpringBoot健身房管理系统
SpringBoot健身房管理系统绿色版,springboot+MySQL+thymeleaf。...
- 使用springboot2.x整合shiro包含sql数据库
使用springboot2.x整合shiro包含sql数据库例子源代码。...