Intellij Junit导致java.lang.SecurityException:清单主属性的签名文件摘要无效

Intellij Junit导致java.lang.SecurityException:清单主属性的签名文件摘要无效,java,junit,jar,mockito,sendgrid,Java,Junit,Jar,Mockito,Sendgrid,我正试图将sendgrid整合到我们处理电子邮件的回购协议中。但是我的Junit测试不断抛出提到的异常。我已经浏览了关于运行jar和cglib相关问题的大部分帖子,我确实已经下载了最新的mockitoall(1.10.19)。我能够构建jar并在排除签名文件后让它运行,但我的问题是如何让Junit工作 基本上,我所做的就是模拟SendGrid类 private-SendGrid-mockApiClient=Mockito.mock(SendGrid.class) 以下是我如何将其纳入项目的:(是

我正试图将sendgrid整合到我们处理电子邮件的回购协议中。但是我的Junit测试不断抛出提到的异常。我已经浏览了关于运行jar和cglib相关问题的大部分帖子,我确实已经下载了最新的mockitoall(1.10.19)。我能够构建jar并在排除签名文件后让它运行,但我的问题是如何让Junit工作

基本上,我所做的就是模拟SendGrid类

private-SendGrid-mockApiClient=Mockito.mock(SendGrid.class)

以下是我如何将其纳入项目的:(是的,那是常春藤)

引发的异常的stacktrace如下所示:

java.lang.SecurityException: Invalid signature file digest for Manifest main attributes

    at sun.security.util.SignatureFileVerifier.processImpl(SignatureFileVerifier.java:330)
    at sun.security.util.SignatureFileVerifier.process(SignatureFileVerifier.java:263)
    at java.util.jar.JarVerifier.processEntry(JarVerifier.java:318)
    at java.util.jar.JarVerifier.update(JarVerifier.java:230)
    at java.util.jar.JarFile.initializeVerifier(JarFile.java:383)
    at java.util.jar.JarFile.ensureInitialization(JarFile.java:617)
    at java.util.jar.JavaUtilJarAccessImpl.ensureInitialization(JavaUtilJarAccessImpl.java:69)
    at sun.misc.URLClassPath$JarLoader$2.getManifest(URLClassPath.java:991)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:451)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
    at java.lang.Class.getDeclaredFields0(Native Method)
    at java.lang.Class.privateGetDeclaredFields(Class.java:2611)
    at java.lang.Class.getDeclaredFields(Class.java:1944)
    at org.junit.runners.model.TestClass.<init>(TestClass.java:49)
    at org.junit.runners.ParentRunner.<init>(ParentRunner.java:75)
    at org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:57)
    at org.junit.internal.builders.JUnit4Builder.runnerForClass(JUnit4Builder.java:10)
    at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
    at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)
    at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
    at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:26)
    at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:49)
    at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
    at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
    at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
java.lang.SecurityException:清单主属性的签名文件摘要无效
位于sun.security.util.SignatureFileLeverifier.processImpl(SignatureFileLeverifier.java:330)
在sun.security.util.SignatureFileForever.process(SignatureFileForever.java:263)上
位于java.util.jar.JarVerifier.processEntry(JarVerifier.java:318)
位于java.util.jar.JarVerifier.update(JarVerifier.java:230)
位于java.util.jar.JarFile.initializeVerifier(JarFile.java:383)
在java.util.jar.JarFile.ensureInitialization(JarFile.java:617)
在java.util.jar.JavaUtilJarAccessImpl.ensureInitialization(JavaUtilJarAccessImpl.java:69)
位于sun.misc.URLClassPath$JarLoader$2.getManifest(URLClassPath.java:991)
位于java.net.URLClassLoader.defineClass(URLClassLoader.java:451)
在java.net.URLClassLoader.access$100(URLClassLoader.java:74)
在java.net.URLClassLoader$1.run(URLClassLoader.java:369)
在java.net.URLClassLoader$1.run(URLClassLoader.java:363)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.net.URLClassLoader.findClass(URLClassLoader.java:362)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:418)
位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:351)
位于java.lang.Class.getDeclaredFields0(本机方法)
位于java.lang.Class.privateGetDeclaredFields(Class.java:2611)
位于java.lang.Class.getDeclaredFields(Class.java:1944)
位于org.junit.runners.model.TestClass.(TestClass.java:49)
在org.junit.runners.ParentRunner上(ParentRunner.java:75)
位于org.junit.runners.BlockJUnit4ClassRunner。(BlockJUnit4ClassRunner.java:57)
位于org.junit.internal.builders.JUnit4Builder.runnerForClass(JUnit4Builder.java:10)
位于org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
位于org.junit.internal.builders.AllDefaultPossibilityBuilder.runnerForClass(AllDefaultPossibilityBuilder.java:26)
位于org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
位于org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:26)
位于com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:49)
位于com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
位于com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
位于com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)

发生这种情况是因为我不久前下载了一个胖罐子。当我删除了它,清除了我的缓存,并重新提取了所有我能够得到的没有这些签名文件的jar


现在一切正常了

这是因为我不久前下载了一个胖罐子。当我删除了它,清除了我的缓存,并重新提取了所有我能够得到的没有这些签名文件的jar

现在一切都好了