一、背景
我将软件成功打好jar包了,到部署的时候发现jar包中数据库配置写的有问题,不想再重新打包了,打算直接修改配置文件,结果修改配置后,再通过java -jar运行时就报错了。
二、问题描述
本地项目是springBoot项目,多模块打包,持久层数据模块是单独的一个jar包,被业务模块所依赖,修改的话需要到业务模块的jar中的lib目录下将数据模块的jar打开,然后再修改数据模块的jar,相当修改的jar包是嵌套到运行jar包里面的。这样修改jar包中数据库配置,替换对应的jar包,再通过java -jar 命令运行时就报了这个错误:
It has been compressed and nested jar files must be stored without compression. Please check the mechanism used to create your executable jar file.
这个错误说的是:它已经被压缩,嵌套的jar文件必须在没有压缩的情况下存储。
之前也时这么修改的,比如增量修改代码,把class文件放到对应目录下替换,或者修改配置文件,之前修改都没遇到过这个问题,可能是之前并没有嵌套的修改过jar。
三、解决方案
1.新建一个文件夹
比如我之前的jar包是 xxx-service.jar,那么我新建一个名称位 xxx-service 的文件夹。
2.将jar包复制到对应文件夹下
3.输入命令解压jar包
先打开cmd黑窗口,然后到xxx-service文件夹下。然后输入命令解压jar包:
jar xf xxx-service.jar
4.替换配置文件到指定jar包中
5.删除原来复制到xxx-service文件夹下的xxx-service.jar包
6.到黑窗口,输入命令,重新打jar包
jar cfM0 xxx-service.jar *
7.将打包好的jar包替换原来的jar再输入命令运行即可。
最后
今天看技术公众号得知,腾讯课堂竟然下线了。
通知:2024年6月29日,腾讯课堂官网发布重要通知,宣布将于2024年8月1日起停止所有在线课程的访问服务。用户在此日期后将无法访问新的课程内容,但可以继续观看“课程表”中的历史免费课程内容。进一步的消息显示,腾讯课堂将在2024年10月1日全面停止运营,届时所有平台服务将全部终止。
现在不管是苹果还是安卓,应用商店已经不能再下载腾讯课堂APP了。
回望当年,我也是每天下班回家都去看腾讯课堂,上面有很多免费的课程,足够学习提升了,当然也有很多培训班,会出售高阶课程。疫情期间线上教育更是推向了顶峰。后来这两年用的较少了,今天看到这个消息感觉还是挺突然的。
还是挺感谢腾讯课堂的,第二次跳槽成功就是每天下班没事就在腾讯课堂上找课程学习。
最后对于用户来说,腾讯课堂的下线可能会引起对在线教育行业未来发展的思考,同时也可能促使其他竞争者填补市场空缺或进行相应的业务调整。重要的是,无论腾讯课堂的未来如何发展,提供优质教育资源和服务的使命不会改变。