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 相关文章推荐
Spring Data JPA的Audit功能审计数据库的变更
Jun 26 Java/Android
java实现对Hadoop的操作
Jul 01 Java/Android
Spring Cloud Gateway去掉url前缀
Jul 15 Java/Android
Log4j.properties配置及其使用
Aug 02 Java/Android
logback如何自定义日志存储
Aug 30 Java/Android
SpringBoot中HttpSessionListener的简单使用方式
Mar 17 Java/Android
Java 常见的限流算法详细分析并实现
Apr 07 Java/Android
java.util.NoSuchElementException原因及两种解决方法
Jun 28 Java/Android
httpclient调用远程接口的方法
Aug 14 Java/Android
Spring boot实现上传文件到本地服务器
Aug 14 Java/Android
java获取一个文本文件的编码(格式)信息
Sep 23 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删除数组中指定下标的元素方法
2018/02/03 PHP
用JavaScrpt实现文件夹简单轻松加密的实现方法图文
2008/09/08 Javascript
web页面数据展示新想法(json)
2010/06/08 Javascript
『JavaScript』限制Input只能输入数字实现思路及代码
2013/04/22 Javascript
jQuery焦点图切换特效插件封装实例
2013/08/18 Javascript
js动态设置div的值下例子
2013/10/29 Javascript
jquery 取子节点及当前节点属性值
2014/07/25 Javascript
当前流行的JavaScript代码风格指南
2014/09/10 Javascript
浅谈jQuery中 wrap() wrapAll() 与 wrapInner()的差异
2014/11/12 Javascript
js实现n秒倒计时后才可以点击的效果
2015/12/20 Javascript
jQuery如何防止Ajax重复提交
2016/10/14 Javascript
Vue方法与事件处理器详解
2016/12/01 Javascript
微信小程序实战之轮播图(3)
2017/04/17 Javascript
详解Vue学习笔记进阶篇之列表过渡及其他
2017/07/17 Javascript
Vue与Node.js通过socket.io通信的示例代码
2018/07/25 Javascript
vue中设置、获取、删除cookie的方法
2018/09/21 Javascript
JS实现简单的文字无缝上下滚动功能示例
2019/06/22 Javascript
python中模块的__all__属性详解
2017/10/26 Python
Python实现获取nginx服务器ip及流量统计信息功能示例
2018/05/18 Python
对Python的zip函数妙用,旋转矩阵详解
2018/12/13 Python
django主动抛出403异常的方法详解
2019/01/04 Python
python文件读写代码实例
2019/10/21 Python
使用OpenCV-python3实现滑动条更新图像的Canny边缘检测功能
2019/12/12 Python
使用python采集Excel表中某一格数据
2020/05/14 Python
在C#中如何实现多态
2014/07/02 面试题
部队领导证婚词
2014/01/12 职场文书
美发活动策划书
2014/01/14 职场文书
党员干部廉洁承诺书
2014/05/28 职场文书
技校毕业生自荐信
2014/06/03 职场文书
教师工作自我鉴定范文
2014/09/14 职场文书
工作收入证明模板
2014/10/10 职场文书
2014年四风个人对照检查及整改措施
2014/10/28 职场文书
初中生物教学随笔
2015/08/15 职场文书
Go 自定义package包设置与导入操作
2021/05/06 Golang
使用python如何删除同一文件夹下相似的图片
2021/05/07 Python
Spring中bean集合注入的方法详解
2022/07/07 Java/Android