springboot项目以jar包运行的操作方法


Posted in Java/Android onJune 30, 2021

  公司的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中:

springboot项目以jar包运行的操作方法

  然后在pom文件中引入jar包:

springboot项目以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命令就可以读到配置文件啦。

参考:https://www.cnblogs.com/taiyonghai/p/9561334.html

到此这篇关于springboot项目以jar包运行的操作方法的文章就介绍到这了,更多相关springboot jar包内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Java/Android 相关文章推荐
Java Shutdown Hook场景使用及源码分析
Jun 15 Java/Android
Java如何实现树的同构?
Jun 22 Java/Android
图解排序算法之希尔排序Java实现
Jun 26 Java/Android
Java网络编程之UDP实现原理解析
Sep 04 Java/Android
Java中try catch处理异常示例
Dec 06 Java/Android
SpringBoot整合阿里云视频点播的过程详解
Dec 06 Java/Android
java代码实现空间切割
Jan 18 Java/Android
mapstruct的用法之qualifiedByName示例详解
Apr 06 Java/Android
Spring Boot配合PageHelper优化大表查询数据分页
Apr 20 Java/Android
Spring中的@Transactional的工作原理
Jun 05 Java/Android
Android Canvas绘制文字横纵向对齐
Jun 05 Java/Android
SpringBoot使用ip2region获取地理位置信息的方法
Jun 21 Java/Android
Springboot使用Spring Data JPA实现数据库操作
Jun 30 #Java/Android
如何给HttpServletRequest增加消息头
解决ObjectMapper.convertValue() 遇到的一些问题
Jun 30 #Java/Android
Java基础之详解HashSet的使用方法
Java实现多文件上传功能
Jun 30 #Java/Android
Java基础之线程锁相关知识总结
Jun 30 #Java/Android
详解Spring事件发布与监听机制
You might like
PHP清除数组中所有字符串两端空格的方法
2014/10/20 PHP
PHP查看当前变量类型的方法
2015/07/31 PHP
php经典算法集锦
2015/11/14 PHP
关于PHP中Session文件过多的问题及session文件保存位置
2016/03/17 PHP
Yii实现微信公众号场景二维码的方法实例
2020/08/30 PHP
用js实现随机返回数组的一个元素
2007/08/13 Javascript
使用jQuery实现星级评分代码分享
2014/12/09 Javascript
关于cookie的初识和运用(js和jq)
2016/04/07 Javascript
AngularJS 表达式详细讲解及实例代码
2016/07/26 Javascript
bootstrapValidator表单验证插件学习
2016/12/30 Javascript
深入理解Vue官方文档梳理之全局API
2017/11/22 Javascript
在vue-cli搭建的项目中增加后台mock接口的方法
2018/04/26 Javascript
React为 Vue 引入容器组件和展示组件的教程详解
2018/05/03 Javascript
vue.js层叠轮播效果的实例代码
2018/11/08 Javascript
小程序日历控件使用方法详解
2018/12/29 Javascript
解决layui checkbox 提交多个值的问题
2019/09/02 Javascript
JavaScript实现简单动态表格
2020/12/02 Javascript
Vue中避免滥用this去读取data中数据
2021/03/02 Vue.js
Python中用Decorator来简化元编程的教程
2015/04/13 Python
Python实现Linux的find命令实例分享
2017/06/04 Python
python保存文件方法小结
2018/07/27 Python
Python使用sax模块解析XML文件示例
2019/04/04 Python
Centos7下源码安装Python3 及shell 脚本自动安装Python3的教程
2020/03/07 Python
html5 touch事件实现触屏页面上下滑动(一)
2016/03/10 HTML / CSS
html5中JavaScript removeChild 删除所有节点
2014/05/16 HTML / CSS
HTML5新增加的功能详解
2016/09/05 HTML / CSS
英国领先的男士美容护发用品公司:Mankind
2016/08/31 全球购物
Sneaker Studio匈牙利:购买运动鞋
2018/03/26 全球购物
三星法国官方网站:Samsung法国
2019/10/31 全球购物
this关键字的作用
2016/01/30 面试题
物业管理大学生个人的自我评价
2013/10/10 职场文书
银行内勤岗位职责
2014/04/09 职场文书
先进人物事迹材料
2014/12/29 职场文书
企业催款函范本
2015/06/24 职场文书
民间借贷纠纷起诉书
2015/08/03 职场文书
css position fixed 左右双定位的实现代码
2021/04/29 HTML / CSS