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实现分布式事务的三种方案
Jun 11 Java/Android
springboot利用redis、Redisson处理并发问题的操作
Jun 18 Java/Android
使用feign服务调用添加Header参数
Jun 23 Java/Android
java泛型通配符详解
Jul 25 Java/Android
Spring Boot mybatis-config 和 log4j 输出sql 日志的方式
Jul 26 Java/Android
mybatis3中@SelectProvider传递参数方式
Aug 04 Java/Android
Logback 使用TurboFilter实现日志级别等内容的动态修改操作
Aug 30 Java/Android
Java实现二分搜索树的示例代码
Mar 17 Java/Android
剑指Offer之Java算法习题精讲二叉树的构造和遍历
Mar 21 Java/Android
Spring Boot DevTools 全局配置学习指南
Mar 31 Java/Android
带你了解Java中的ForkJoin
Apr 28 Java/Android
Java 中的 Lambda List 转 Map 的多种方法详解
Jul 07 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 彩色文字实现代码
2009/06/29 PHP
CI框架无限级分类+递归的实现代码
2016/11/01 PHP
DD_belatedPNG,IE6下PNG透明解决方案(国外)
2010/12/06 Javascript
分页栏的web标准实现
2011/11/01 Javascript
javaScript 删除字符串空格多种方法小结
2012/10/24 Javascript
js左右弹性滚动对联广告代码分享
2014/02/19 Javascript
ExtJS中设置下拉列表框不可编辑的方法
2014/05/07 Javascript
jQuery使用animate创建动画用法实例
2015/08/07 Javascript
jQuery+CSS实现滑动的标签分栏切换效果
2015/12/17 Javascript
bootstrap-wysiwyg结合ajax实现图片上传实时刷新功能
2016/05/27 Javascript
bootstrap输入框组使用方法
2017/02/07 Javascript
Vue如何实现组件的源码解析
2017/06/08 Javascript
Vue中keep-alive组件作用详解
2020/02/04 Javascript
jQuery实现简单全选框
2020/09/13 jQuery
wxPython学习之主框架实例
2014/09/28 Python
Python标准库之循环器(itertools)介绍
2014/11/25 Python
PyQt5利用QPainter绘制各种图形的实例
2017/10/19 Python
Python编程给numpy矩阵添加一列方法示例
2017/12/04 Python
python 监听salt job状态,并任务数据推送到redis中的方法
2019/01/14 Python
python opencv 读取本地视频文件 修改ffmpeg的方法
2019/01/26 Python
Python中单线程、多线程和多进程的效率对比实验实例
2019/05/14 Python
tensorflow通过模型文件,使用tensorboard查看其模型图Graph方式
2020/01/23 Python
python 如何利用argparse解析命令行参数
2020/09/11 Python
关于python中导入文件到list的问题
2020/10/31 Python
html2canvas把div保存图片高清图的方法示例
2018/03/05 HTML / CSS
台湾森森购物网:U-mall
2017/10/16 全球购物
德国最大的服装、鞋子和配件在线商店之一:Outfits24
2019/07/23 全球购物
澳大利亚当地社区首选的光学商店:1001 Optical
2019/08/24 全球购物
意大利奢侈品零售商:ilDuomo Novara
2019/09/11 全球购物
英文简历中的自我评价用语
2013/12/09 职场文书
高中军训感言400字
2014/02/24 职场文书
幼儿园课题方案
2014/06/09 职场文书
2014光棍节大学生联谊活动方案
2014/10/10 职场文书
结婚保证书(三从四德)
2015/02/26 职场文书
2016应届毕业生就业指导课心得体会
2016/01/15 职场文书
2016大学生国家助学贷款承诺书
2016/03/25 职场文书