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 将PPT幻灯片转为HTML文件的实现思路
Jun 11 Java/Android
解决SpringBoot跨域的三种方式
Jun 26 Java/Android
分析ZooKeeper分布式锁的实现
Jun 30 Java/Android
解决MultipartFile.transferTo(dest) 报FileNotFoundExcep的问题
Jul 01 Java/Android
解决Swagger2返回map复杂结构不能解析的问题
Jul 02 Java/Android
dubbo服务整合zipkin详解
Jul 26 Java/Android
SpringBoot整合Mybatis Generator自动生成代码
Aug 23 Java/Android
springboot中rabbitmq实现消息可靠性机制详解
Sep 25 Java/Android
Jpa Specification如何实现and和or同时使用查询
Nov 23 Java/Android
java版 联机五子棋游戏
May 04 Java/Android
Android中的Launch Mode详情
Jun 05 Java/Android
Spring Cloud OAuth2实现自定义token返回格式
Jun 25 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投票程序源码
2007/03/11 PHP
PHP与SQL注入攻击[一]
2007/04/17 PHP
Windows下安装Memcached的步骤说明
2010/04/25 PHP
PHP中使用imagick生成PSD文件缩略图教程
2015/01/26 PHP
php each 返回数组中当前的键值对并将数组指针向前移动一步实例
2016/11/22 PHP
JS 中document.URL 和 windows.location.href 的区别
2009/11/11 Javascript
js+css使DIV始终居于屏幕中间 左下 左上 右上 右下的代码集合
2011/03/10 Javascript
js onmousewheel事件多次触发问题解决方法
2014/10/17 Javascript
js+css实现tab菜单切换效果的方法
2015/01/20 Javascript
jQuery简单实现验证邮箱格式
2015/07/15 Javascript
jQuery中的ajax async同步和异步详解
2015/09/29 Javascript
JavaScript制作简单的日历效果
2016/03/10 Javascript
基于jQuery倒计时插件实现团购秒杀效果
2016/05/13 Javascript
基于Turn.js 实现翻书效果实例解析
2016/06/20 Javascript
JavaScript实现的商品抢购倒计时功能示例
2017/04/17 Javascript
javascript 判断一个对象为数组的方法
2017/05/03 Javascript
深入理解Vue transition源码分析
2017/07/30 Javascript
微信小程序位置授权处理方法
2019/06/13 Javascript
详解element-ui中el-select的默认选择项问题
2019/08/02 Javascript
python通过配置文件共享全局变量的实例
2019/01/11 Python
对django中foreignkey的简单使用详解
2019/07/28 Python
django将数组传递给前台模板的方法
2019/08/06 Python
django 配置阿里云OSS存储media文件的例子
2019/08/20 Python
Python读取配置文件(config.ini)以及写入配置文件
2020/04/08 Python
pymysql之cur.fetchall() 和cur.fetchone()用法详解
2020/05/15 Python
Python定义一个Actor任务
2020/07/29 Python
python用Configobj模块读取配置文件
2020/09/26 Python
使用Canvas操作像素的方法
2018/06/14 HTML / CSS
谈一谈HTML5本地存储技术
2016/03/02 HTML / CSS
巴西最大的体育用品商城:Netshoes巴西
2016/11/29 全球购物
《孔子拜师》教学反思
2014/02/24 职场文书
机关办公室岗位职责
2014/04/16 职场文书
老乡聚会通知
2015/04/23 职场文书
2015年度绩效考核工作总结
2015/05/27 职场文书
2019中小学生安全过暑期倡议书
2019/06/24 职场文书
phpQuery解析HTML乱码问题(补充官网未列出的乱码解决方案)
2021/04/01 PHP