一、问题描述
多项工程引用同一个jar包的内容。但是由于工作交接,该jar包原工程的代码库中,部分源代码出现丢失,由于工程很老(struts2+spring2.5.6),已经无法找回源码。
最终的结果就是线上打的jar包内容与实际工程中源码出现了差别,后期维护将非常费劲。
二、问题原因
该工程为common工程,顾名思义,就是想将多个应用工程中共用的部分,比如数据库domain、sql.xml、工具类和其他配置工具等都集成起来,方便各个工程调用。但本人觉得这样做,如果后期工程繁重,东西增多,这个的改动将是牵一发动全身。
此外,这个工程不需要部署,仅仅是打好jar包上传即可,必然会出现误操作,比如本地打好包deploy后,没有将代码push到远端,从而导致源码丢失。
三、解决办法
如果其他小伙伴有遇到同样的问题,这里我们提供两种办法:
1、短视高效办法
如果紧急,可以直接修改你要修改的类,然后本地打包,本地使用winRAR(建议)解压后,将对应的class文件覆盖到线上拉下来的jar包(winRAR解压替换),注意将里面pom文件的版本号修改,否则影响线上
,然后再打包上传,对应的其他工程引用新版本。
对于修改properties、xml等文件,可以直接将线上jar包解压缩,内部修改,因为这些文件没有反编译过程。
2、长远考虑
如果时间充足,建议还是彻底还原工程,保持与线上一致,毕竟方便后期其他人的维护。
基本过程如下:
现 有 工 程 打 本