二次开发包存在中文命名文件导致无法更新下载处理方法
金蝶云社区-yangyang0283
yangyang0283
0人赞赏了该文章 580次浏览 未经作者许可,禁止转载编辑于2014年06月05日 09:50:20
问题描述:
二次开发包无法正常更新下载,且apusic日志提示: 2013-10-12 12:51:39 ERROR [con.err] java.lang.IllegalArgumentException 2013-10-12 12:51:39 ERROR [con.err] at java.util.zip.ZipInputStream.getUTF8String(ZipInputStream.java:312) 2013-10-12 12:51:39 ERROR [con.err] at java.util.zip.ZipInputStream.readLOC(ZipInputStream.java:265) 2013-10-12 12:51:39 ERROR [con.err] at java.util.zip.ZipInputStream.getNextEntry
解决方案:
由apusic日志可判断,EAS环境中有jar包无法正常加载,进入jdk的bin目录下,使用jdk的jar -xvf *.jar命令解压二次开发包,出现报错:创建:com/kingdee/eas/transfar/basedata/client/ java.lang.IllegalArgumentException at java.util.zip.ZipInputStream.getUTF8String(ZipInputStream.java:288) at java.util.zip.ZipInputStream.readLOC(ZipInputStream.java:242) at java.util.zip.ZipInputStream.getNextEntry(ZipInputStream.java:74) at sun.tools.jar.Main.extract(Main.java:760) at sun.tools.jar.Main.run(Main.java:210) at sun.tools.jar.Main.main(Main.java:1022) 检查发现二次开发包的com/kingdee/eas/transfar/basedata/client/目录中存在中文命名文件,因此导致在差异更新生成MD5值遍历压缩包所有entry的过程中,无法正常解压二次开发包,从而无法生成对应MD5值,所以客户端无法正常更新下载。该问题由二次开发人员调整二次开发包,重新部署后更新下载正常。(EAS加载的jar包中严禁携带中文命名文件,且需确保使用jdk的jar -xvf *.jar命令能够正常解压。)