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 26 Java/Android
深入理解java.lang.String类的不可变性
Jun 27 Java/Android
Java SSH 秘钥连接mysql数据库的方法
Jun 28 Java/Android
详解Spring Boot使用系统参数表提升系统的灵活性
Jun 30 Java/Android
Java中多线程下载图片并压缩能提高效率吗
Jul 01 Java/Android
java设计模式--三种工厂模式详解
Jul 21 Java/Android
Log4j.properties配置及其使用
Aug 02 Java/Android
SpringBoot整合Mybatis Generator自动生成代码
Aug 23 Java/Android
Android基于Fresco实现圆角和圆形图片
Apr 01 Java/Android
Spring Data JPA框架自定义Repository接口
Apr 28 Java/Android
Java Spring Lifecycle的使用
May 06 Java/Android
Spring JPA 增加字段执行异常问题及解决
Jun 10 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
source.php查看源文件
2006/12/09 PHP
PHP设计模式之代理模式的深入解析
2013/06/13 PHP
php_screw安装使用教程(另一个PHP代码加密实现)
2014/05/29 PHP
php实现SAE上使用storage上传与下载文件的方法
2015/06/29 PHP
php微信公众平台开发(三)订阅事件处理
2016/12/06 PHP
php基于PDO实现功能强大的MYSQL封装类实例
2017/02/27 PHP
超级简单的图片防盗(HTML),好用
2007/04/08 Javascript
JavaScript使用技巧精萃[代码非常实用]
2008/11/21 Javascript
怎么选择Javascript框架(Javascript Framework)
2013/11/22 Javascript
JavaScript实现同步于本地时间的动态时间显示方法
2015/02/02 Javascript
jquery滚动到顶部底部代码
2015/04/20 Javascript
JavaScript实现把数字转换成中文
2015/06/29 Javascript
基于jQuery通过jQuery.form.js插件实现异步上传
2015/12/13 Javascript
JS变量及其作用域
2017/03/29 Javascript
JavaScript canvas实现围绕旋转动画
2017/11/18 Javascript
React Native悬浮按钮组件的示例代码
2018/04/05 Javascript
JavaScript 继承 封装 多态实现及原理详解
2019/07/29 Javascript
vue实现表单录入小案例
2019/09/27 Javascript
[02:44]DOTA2英雄基础教程 魅惑魔女
2014/01/07 DOTA
[02:51]DOTA2 2015国际邀请赛中国区预选赛第一日战报
2015/05/27 DOTA
TensorFlow实现卷积神经网络CNN
2018/03/09 Python
Python tkinter label 更新方法
2018/10/11 Python
使用OpenCV-python3实现滑动条更新图像的Canny边缘检测功能
2019/12/12 Python
Django使用list对单个或者多个字段求values值实例
2020/03/31 Python
Python3操作读写CSV文件使用包过程解析
2020/04/10 Python
哥德堡通行证:Gothenburg Pass
2019/12/09 全球购物
物流经理自我评价
2013/09/23 职场文书
医学院四年学习生活的自我评价
2013/11/06 职场文书
快递业务员岗位职责
2014/01/06 职场文书
协商一致解除劳动合同协议书
2014/09/14 职场文书
故宫导游词
2015/01/31 职场文书
婚庆公司开业主持词
2015/06/30 职场文书
敬老院活动感想
2015/08/07 职场文书
药品销售员2015年终工作总结
2015/10/22 职场文书
Python中相见恨晚的技巧
2021/04/13 Python
python数字图像处理实现图像的形变与缩放
2022/06/28 Python