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 14 Java/Android
Java Dubbo框架知识点梳理
Jun 26 Java/Android
Java实现多文件上传功能
Jun 30 Java/Android
mybatis 解决从列名到属性名的自动映射失败问题
Jun 30 Java/Android
Java面试题冲刺第十九天--数据库(4)
Aug 07 Java/Android
关于springboot配置druid数据源不生效问题(踩坑记)
Sep 25 Java/Android
关于ObjectUtils.isEmpty() 和 null 的区别
Feb 28 Java/Android
spring cloud eureka 服务启动失败的原因分析及解决方法
Mar 17 Java/Android
剑指Offer之Java算法习题精讲二叉树的构造和遍历
Mar 21 Java/Android
Java 超详细讲解十大排序算法面试无忧
Apr 08 Java/Android
零基础学java之方法的定义与调用详解
Apr 10 Java/Android
Android在Sqlite3中的应用及多线程使用数据库的建议
Apr 24 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
PHPCMS2008广告模板SQL注入漏洞修复
2016/10/11 PHP
php实现与python进行socket通信的方法示例
2017/08/30 PHP
Javascript 更新 JavaScript 数组的 uniq 方法
2008/01/23 Javascript
js DataSet数据源处理代码
2010/03/29 Javascript
JS 对输入框进行限制(常用的都有)
2013/07/30 Javascript
js使用html()或text()方法获取设置p标签的显示的值
2014/08/01 Javascript
jQuery实现气球弹出框式的侧边导航菜单效果
2015/09/22 Javascript
JavaScript判断图片是否已经加载完毕的方法汇总
2016/02/05 Javascript
使用JS轻松实现ionic调用键盘搜索功能(超实用)
2016/09/06 Javascript
浅谈angularjs $http提交数据探索
2017/01/20 Javascript
bootstrap的常用组件和栅格式布局详解
2017/05/02 Javascript
js实现移动端导航点击自动滑动效果
2017/07/18 Javascript
nodejs使用express获取get和post传值及session验证的方法
2017/11/09 NodeJs
详解浏览器缓存和webpack缓存配置
2018/07/06 Javascript
socket io与vue-cli的结合使用的示例代码
2018/11/01 Javascript
微信JSSDK实现打开摄像头拍照再将相片保存到服务器
2019/11/15 Javascript
JavaScript设计模式--桥梁模式引入操作实例分析
2020/05/23 Javascript
[40:55]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#4Newbee VS Fnatic
2016/03/03 DOTA
web.py 十分钟创建简易博客实现代码
2016/04/22 Python
Python Django使用forms来实现评论功能
2016/08/17 Python
python编程实现随机生成多个椭圆实例代码
2018/01/03 Python
python用户评论标签匹配的解决方法
2018/05/31 Python
Python设计模式之组合模式原理与用法实例分析
2019/01/11 Python
Python matplotlib画图与中文设置操作实例分析
2019/04/23 Python
python3模拟实现xshell远程执行liunx命令的方法
2019/07/12 Python
html5 canvas 简单画板实现代码
2012/01/05 HTML / CSS
老师对学生的评语
2014/04/18 职场文书
运动会入场口号
2014/06/07 职场文书
诉讼代理人授权委托书
2014/10/11 职场文书
初中作文评语集锦
2014/12/25 职场文书
店长岗位职责
2015/02/11 职场文书
2015年全国助残日活动方案
2015/05/04 职场文书
社区安置帮教工作总结2015
2015/05/20 职场文书
2015年公务员试用期工作总结
2015/05/28 职场文书
导游词之苏州阳澄湖
2019/11/15 职场文书
Redis唯一ID生成器的实现
2022/07/07 Redis