windows10系统下替换、修改jar中的文件并重新打包成jar文件然后运行

目录

1、jar文件简述

JAR 文件就是 Java Archive ( Java 档案文件),它是 Java 的一种文档格式。 JAR 文件非常类似 ZIP 文件。准确的说,它就是 ZIP 文件,所以叫它文件包。JAR 文件与 ZIP 文件唯一的区别就是在 JAR 文件的内容中,多出了一个META-INF/MANIFEST.MF 文件,这个文件是在生成 JAR 文件的时候自动创建的 (也可以自行创建)。

2、问题来源

直接复制粘贴替换打包好的jar包里对应lib包下的一些包,然后通过java -jar启动项目报错。

3、操作步骤

3.1 解压jar包

首先,在要操作的jar文件上边cmd打开命令提示符窗口,(也可以打开命令行cd进入到 jar包 所在的目录)

在cmd命令下执行 jar -xvf xxx.jar 解压jar包(其中xxx.jar换成你的jar包名)

命令如下:

powershell 复制代码
jar -xvf marriage-admin-1.0.0.jar

结果示例:

3.2 替换或者更改操作

  • 需求1:替换文件

    如果要替换jar压缩文件里lib下的jar包,在BOOT-INF的lib文件夹下直接粘贴替换即可。

  • 需求2:

    假如要修改配置文件

    修改 BOOT-INF\classes\application-test.yml 中的数据库连接 url: jdbc:mysql://127.0.0.1:3306/(原来是 jdbc:mysql://192.192.192.55:3306),并把连接测试环境数据库账号和密码改成本地连接的账号和密码保存。

3.3 重新打成jar包

命令:

powershell 复制代码
jar -uvf0 marriage-admin-1.0.0.jar.jar BOOT-INF

然后回到cmd命令中执行 jar -uvf0 iotp-adss-V1.0.0.3.jar BOOT-INF

此命令表示将修改后的BOOT-INF文件夹重新压缩到iotp-adss-V1.0.0.3.jar包中。

3.4 确认是否修改成功

再使用解压工具打开 jar包,查看替换的文件是否替换了,或者修改配置的端口确实改好了(也可以解压后看),如下图所示:

3.5 运行程序

在Windows系统下运行 jar 包程序。

命令:

powershell 复制代码
java -jar iotp-adss-V1.0.0.3.jar

jar 包成功运行。

注意:如果不报错下边就不用看了,到此结束,如果报错,看下边。

如果你的报错,可以试试重新打成jar包时用这个指令jar -cfM0 ../xxx.jar ./,重点是cfM0指令------如果用普通指令 jar -cvf xxx.jar ./ 或winrar压缩工具会导致内部的jar文件会被二次压缩 ,导致重新打包后的jar无法正常运行,而cfM0指令可以防止打包的过程中将文件二 次压缩。

附录:常见命令参数

本文到此结束,如有不足之处,欢迎批评指正。

相关推荐
我是华为OD~HR~栗栗呀10 小时前
华为od-22届考研-C++面经
java·前端·c++·python·华为od·华为·面试
码住懒羊羊10 小时前
【Linux】操作系统&进程概念
java·linux·redis
我是华为OD~HR~栗栗呀10 小时前
华为OD, 测试面经
java·c++·python·华为od·华为·面试
我是华为OD~HR~栗栗呀12 小时前
华为OD-23届-测试面经
java·前端·c++·python·华为od·华为·面试
yy76349666812 小时前
WPF 之 简单高效的Revit多语言支持方案
java·大数据·linux·服务器·wpf
我是华为OD~HR~栗栗呀12 小时前
华为od面经-23届-Java面经
java·c语言·c++·python·华为od·华为·面试
青云交17 小时前
Java 大视界 -- 基于 Java 的大数据机器学习模型在图像识别中的迁移学习与模型优化
java·大数据·迁移学习·图像识别·模型优化·deeplearning4j·机器学习模型
2501_9098008117 小时前
Java 集合框架之 Set 接口
java·set接口
断剑zou天涯17 小时前
【算法笔记】暴力递归尝试
java·笔记·算法
Nobody_Cares18 小时前
JWT令牌
java