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指令可以防止打包的过程中将文件二 次压缩。

附录:常见命令参数

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

相关推荐
AI人工智能+电脑小能手3 小时前
【大白话说Java面试题 第87题】【Mysql篇】第17题:分布式事务的实现原理?
java·数据库·分布式·mysql·面试
来杯@Java4 小时前
图书管理系统(基于springboot+vue前后端分离的项目)计算机毕业设计java
java·spring boot·spring·vue·毕业设计·mybatis·课程设计
卷毛的技术笔记5 小时前
告别硬编码!Spring AI Alibaba 实现 AI Agent 智能工具调用(Tool Calling)
java·人工智能·后端·python·spring·ai编程
编程大师哥5 小时前
匿名函数 lambda + 高阶函数
java·python·算法
東雪木5 小时前
多线程与并发编程 专属复习笔记
java·开发语言·笔记·java面试
adrninistrat0r5 小时前
Java调用链MCP分析工具
java·python·ai编程
噜噜噜阿鲁~6 小时前
python学习笔记 | 11.3、面向对象高级编程-多重继承
java·开发语言
春生野草6 小时前
反射、Tomcat执行
java·开发语言
_日拱一卒7 小时前
LeetCode:207课程表
java·数据结构·算法·leetcode·职场和发展
飞翔中文网7 小时前
Java学习笔记之抽象类与接口(设计思想)
java·笔记·学习