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 相关文章推荐
自从在 IDEA 中用了热部署神器 JRebel 之后,开发效率提升了 10(真棒)
Jun 26 Java/Android
Java常用函数式接口总结
Jun 29 Java/Android
使用Springboot实现健身房管理系统
Jul 01 Java/Android
Java反应式框架Reactor中的Mono和Flux
Jul 25 Java/Android
Java日常练习题,每天进步一点点(38)
Jul 26 Java/Android
Java使用Unsafe类的示例详解
Sep 25 Java/Android
maven依赖的version声明控制方式
Jan 18 Java/Android
alibaba seata服务端具体实现
Feb 24 Java/Android
Spring Boot接口定义和全局异常统一处理
Apr 20 Java/Android
Flutter Navigator 实现路由传递参数
Apr 22 Java/Android
JavaScript正则表达式实现注册信息校验功能
May 30 Java/Android
Java中生成微信小程序太阳码的实现方案
Jun 01 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字符串逆序排列实现方法小结【strrev函数,二分法,循环法,递归法】
2017/01/13 PHP
PHP CURL实现模拟登陆并上传文件操作示例
2020/01/02 PHP
jQuery中after的两种用法实例
2013/07/03 Javascript
JavaScript Math.floor方法(对数值向下取整)
2015/01/09 Javascript
JS实现模拟风力的雪花飘落效果
2015/05/13 Javascript
jQuery调用WebMethod(PageMethod) NET2.0的方法
2016/04/15 Javascript
浅析JS动态创建元素【两种方法】
2016/04/20 Javascript
js中的关联数组与普通数组详解
2016/07/27 Javascript
浅谈jQuery效果函数
2016/09/16 Javascript
Bootstrap 3浏览器兼容性问题及解决方案
2017/04/11 Javascript
vue+webpack模拟后台数据的示例代码
2018/07/26 Javascript
利用JS动态生成隔行换色HTML表格的两种方法
2018/10/09 Javascript
JS实现数组去重及数组内对象去重功能示例
2019/02/02 Javascript
vue组件 keep-alive 和 transition 使用详解
2019/10/11 Javascript
vue组件添加事件@click.native操作
2020/10/30 Javascript
python+django快速实现文件上传
2016/10/24 Python
使用Python制作微信跳一跳辅助
2018/01/31 Python
python opencv之SURF算法示例
2018/02/24 Python
对python中GUI,Label和Button的实例详解
2019/06/27 Python
python 调试冷知识(小结)
2019/11/11 Python
Python extract及contains方法代码实例
2020/09/11 Python
Lyle & Scott苏格兰金鹰官网:英国皇室御用品牌
2018/05/09 全球购物
国际象棋商店:The Chess Store
2018/07/09 全球购物
英国在线汽车和面包车零件商店:Car Parts 4 Less
2018/08/15 全球购物
三维科技面试题
2013/07/27 面试题
自荐信的禁忌和要点
2013/10/15 职场文书
国际政治个人自荐信范文
2013/11/26 职场文书
高中政治教学反思
2014/01/18 职场文书
公司年终奖分配方案
2014/06/16 职场文书
人事专员岗位说明书
2014/07/29 职场文书
农村老人去世追悼词
2015/06/23 职场文书
公司规章制度范本
2015/08/03 职场文书
环保建议书作文500字
2015/09/14 职场文书
《给予树》教学反思
2016/03/03 职场文书
Python 文本滚动播放器的实现代码
2021/04/25 Python
win10如何更改appdata文件夹的默认位置?
2022/07/15 数码科技