| 
 是这样的,楼主需要修改一个jar包中的配置文件,按照传统的解压修改再压缩之后报SHA digest error,初步认为是在jar包中的META-INF文件夹中有mainfest.mf,内容是文件和SHA1值,比如  | 
|
![]()  | 
 来大神帮帮忙啊。。 
 | 
![]()  | 
|
![]()  | 
 一般jar包中的properties文件直接修改的啊,反正都是用Tomcat或者Weblogic来启动 
 | 
![]()  | 
 不管什么方式,能实现就好,jar包是第三方的,它将一些配置文件放在包路径下一起打包了。  | 
![]()  | 
 感谢关注,楼上有更详细信息。 
 | 
![]()  | 
 感谢关注,楼上有更详细信息。  | 
![]() 10分  | 
 你想改配置文件,最好还是找给你jar包的人弄.他这么设计,本身就是为了安全着想,不让你去改那个properties文件,
 
Name:xxx(jar包中的class,properties等文件)  | 
![]()  | 
 如果啥方法都行的话,可以吧这个jar下载到本地,用WinRAR打开,手动改了那个配置。  | 
![]()  | 
 你当前工程新建一个同名的properties文件就行了。  | 
![]()  | 
 额,你看我的描述,我差不多是这么干的,但是再部署这个jar包就报错了。错误内容是:  | 
![]() 20分  | 
 嗯,那,为啥要改给定jar的配置?能否自己定义一下,尽量绕开给定的jar,避免冲突呢?  | 
![]() 20分  | 
 你这个jar应该是否已经签过名了吧 
如果想改完重新打jar包 就得删除原来的签名文件,重新创建Jar包和签名  | 
![]()  | 
 是的,这个jar包封装了一些国际化配置文件,我想修改其中的部分配置。jar包不开源的。  | 
![]()  | 
 谢谢,你的回答很有帮助。  | 
![]() 10分  | 
 反正篡改了文件就不能再保留签名相关的文件内容了,删除掉它们重新打包就可以了。 
另外,你可以反编译代码观察它取参数的方式是否唯一,如果还有其它与优先级相关的途径,我们可以改动优先级比它高的设置,比如,如果它读取这个properties 当默认值,同时还检测是否有命令行的 -D… 参数的话(System.getProperty(“…”))我们就不必去改动它的 properties 文件啦。  | 
![]()  | 
 这个jar包是一个web应用的部分,我试过删除签名文件重新打包,打包之后整个应用都无法访问了。  | 
![]()  | 
 或者,这个问题可以换成如何修改带有数字签名的jar包?jar包数字签名有什么作用? 
 | 
![]() 30分  | 
 既然无法用了,证明肯定还是要签名的,卤煮可以重新进行签名再试试 
 如何给jar包数字签名  | 
![]() 10分  | 
 java.lang.SecurityException: SHA1 digest error  for
 
就是为了防止Jar包被修改的。  | 
                    
