一、问题描述
Ubuntu环境中,将maven项目打包成jar包传到服务器中后运行以下指令:
1 $ java -cp my.jar com.myproject.Main
遇到报错:
1 java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
二、问题分析
在maven打包之后由于重复引用某些依赖导致生成了一些.SF等文件,则运行jar时会抛出该异常。
三、解决方案
因为是生成jar包时产生的文件,只要在生成jar包后删除这些文件即可,指令为:
1 $ zip -d my.jar 'META-INF/.SF' 'META-INF/.RSA' 'META-INF/*SF'
删除后即可正常运行。