目录
- 1、jar文件简述
- 2、问题来源
- 3、操作步骤
- 3.1 解压jar包
- 3.2 替换或者更改操作
- 3.3 重新打成jar包
- 3.4 确认是否修改成功
- 3.5 运行程序
- 附录:常见命令参数
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包名)
命令如下:
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包
命令:
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 包程序。
命令:
java -jar iotp-adss-V1.0.0.3.jar
jar 包成功运行。
注意:如果不报错下边就不用看了,到此结束,如果报错,看下边。
如果你的报错,可以试试重新打成jar包时用这个指令jar -cfM0 ../xxx.jar ./
,重点是cfM0指令——如果用普通指令 jar -cvf xxx.jar ./ 或winrar压缩工具会导致内部的jar文件会被二次压缩 ,导致重新打包后的jar无法正常运行,而cfM0指令可以防止打包的过程中将文件二 次压缩。
附录:常见命令参数
本文到此结束,如有不足之处,欢迎批评指正。