2017-09-04 36 views
0

其实我有一个问题,我无法解释。我在测试中遇到下一个异常,它应该通过具体包中的al类,并测试每个人都必须实现的模式函数。无效的LOC头zipexception

@Test 
    public void testConcreteModels() 
     throws IOException, InstantiationException, IllegalAccessException, NotFoundException, CannotCompileException { 
    // Loop through classes in the model package 
    final ClassLoader loader = Thread.currentThread().getContextClassLoader(); 
    for (final ClassPath.ClassInfo info : ClassPath.from(loader).getTopLevelClassesRecursive(MODEL_PACKAGE)) { 

而且excepcion旁边....

java.util.zip.ZipException: invalid LOC header (bad signature) 
    at java.util.zip.ZipFile.read(Native Method) 
    at java.util.zip.ZipFile.access$1400(ZipFile.java:60) 
    at java.util.zip.ZipFile$ZipFileInputStream.read(ZipFile.java:734) 
    at java.util.zip.ZipFile$ZipFileInflaterInputStream.fill(ZipFile.java:434) 
    at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:158) 
    at sun.misc.IOUtils.readFully(IOUtils.java:65) 
    at java.util.jar.JarFile.getBytes(JarFile.java:425) 
    at java.util.jar.JarFile.getManifestFromReference(JarFile.java:193) 
    at java.util.jar.JarFile.getManifest(JarFile.java:180) 
    at com.google.common.reflect.ClassPath$Scanner.scanJar(ClassPath.java:375) 
    at com.google.common.reflect.ClassPath$Scanner.scanFrom(ClassPath.java:327) 
    at com.google.common.reflect.ClassPath$Scanner.scan(ClassPath.java:315) 
    at com.google.common.reflect.ClassPath.from(ClassPath.java:92) 
    at com.sancorp.nwe.lcpccr.entity.EntityTest.testConcreteModels(EntityTest.java:40) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) 
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) 
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) 
    at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) 
    at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) 
    at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) 
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) 
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) 
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) 
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) 
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) 
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) 
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) 
    at org.junit.runners.ParentRunner.run(ParentRunner.java:363) 
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86) 
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192) 

任何线索如何解决呢????我已经擦拭我的m2存储库,以尝试解决它,但它没有工作:(

+0

的答案在https://stackoverflow.com/questions/32090921/maven-invalid-loc-header-bad-signature不起作用? – nullpointer

+0

正如我所说的,我多次删除整个.m2 /存储库,干净的项目并没有帮助。 –

+0

我在说这个https://stackoverflow.com/a/41914842/1746118 – nullpointer

回答

0

好吧,经过一些头痛后,我发现原因。在依赖项中的组件内有一个包同名

尽管没有匹配的类名称它试图解压缩一个zip文件没有在我的项目的claspath包...所以它招致一个io异常 - > zipexception等

我认为它应该是另一种例外,而不是无效的LOC标头(坏签名),但改变它的包名似乎是固定的

相关问题