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 相关文章推荐
为什么在foreach循环中JAVA集合不能添加或删除元素
Jun 11 Java/Android
深入理解java.lang.String类的不可变性
Jun 27 Java/Android
Java基础之线程锁相关知识总结
Jun 30 Java/Android
JavaGUI模仿QQ聊天功能完整版
Jul 04 Java/Android
dubbo服务整合zipkin详解
Jul 26 Java/Android
SpringBoot2零基础到精通之数据与页面响应
Mar 22 Java/Android
Android Rxjava3 使用场景详解
Apr 07 Java/Android
Java版 单机五子棋
May 04 Java/Android
Spring 使用注解开发
May 20 Java/Android
java实现面板之间切换功能
Jun 10 Java/Android
Java完整实现记事本代码
Jun 16 Java/Android
spring boot实现文件上传
Aug 14 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 ob_flush,flush在ie中缓冲无效的解决方法
2010/05/09 PHP
JavaScript定时显示广告代码分享
2015/03/02 Javascript
jQuery实现可用于博客的动态滑动菜单
2015/03/09 Javascript
jQuery使用load()方法载入另外一个网页文件内的指定标签内容到div标签的方法
2015/03/25 Javascript
基于MVC4+EasyUI的Web开发框架形成之旅之界面控件的使用
2015/12/16 Javascript
基于jQuery和hwSlider实现内容左右滑动切换效果附源码下载(一)
2016/06/22 Javascript
jquery Ajax 全局调用封装实例详解
2017/01/16 Javascript
js实现添加删除表格(两种方法)
2017/04/27 Javascript
浅谈vue的props,data,computed变化对组件更新的影响
2018/01/16 Javascript
Vue路由history模式解决404问题的几种方法
2018/09/29 Javascript
轻量级富文本编辑器wangEditor结合vue使用方法示例
2018/10/10 Javascript
layDate插件设置开始和结束时间
2018/11/15 Javascript
使用vue制作滑动标签
2019/09/21 Javascript
jQuery弹框插件使用方法详解
2020/05/26 jQuery
快速解决element的autofocus失效问题
2020/09/08 Javascript
JS数组索引检测中的数据类型问题详解
2021/01/11 Javascript
uniapp微信小程序:key失效的解决方法
2021/01/20 Javascript
vue3.0 自适应不同分辨率电脑的操作
2021/02/06 Vue.js
详解js创建对象的几种方式和对象方法
2021/03/01 Javascript
在Python中的Django框架中进行字符串翻译
2015/07/27 Python
利用PyInstaller将python程序.py转为.exe的方法详解
2017/05/03 Python
python实现三次样条插值
2018/12/17 Python
python发送多人邮件没有展示收件人问题的解决方法
2019/06/21 Python
大家都说好用的Python命令行库click的使用
2019/11/07 Python
python如何更新包
2020/06/11 Python
哥德堡通行证:Gothenburg Pass
2019/12/09 全球购物
装修致歉信
2014/01/15 职场文书
自我鉴定书
2014/03/24 职场文书
先进事迹报告会主持词
2014/04/02 职场文书
开展党的群众路线教育实践活动个人对照检查材料
2014/11/05 职场文书
法律讲堂观后感
2015/06/11 职场文书
居安思危观后感
2015/06/11 职场文书
《当代神农氏》教学反思
2016/02/23 职场文书
Win11绿屏怎么办?Win11绿屏死机的解决方法
2021/11/21 数码科技
div与span之间的区别与使用介绍
2021/12/06 HTML / CSS
python内置模块之上下文管理contextlib
2022/06/14 Python