Maven存储库具有无效的java.lang.IllegalStateException

时间:2018-09-25 17:52:31

标签: java rest maven api spring-boot

我想构建一个与API Web应用程序相关的REST服务。 在部署API应用程序之前,我遇到了一个问题:

Exception in thread "main" java.lang.IllegalStateException: Failed to read Class-Path attribute from manifest of jar file:/C:/Users/Lukas/.m2/repository/org/hibernate/hibernate-entitymanager/5.0.12.Final/hibernate-entitymanager-5.0.12.Final.jar
    at org.springframework.boot.devtools.restart.ChangeableUrls.getUrlsFromClassPathOfJarManifestIfPossible(ChangeableUrls.java:110)
    at org.springframework.boot.devtools.restart.ChangeableUrls.fromUrlClassLoader(ChangeableUrls.java:96)
    at org.springframework.boot.devtools.restart.DefaultRestartInitializer.getUrls(DefaultRestartInitializer.java:93)
    at org.springframework.boot.devtools.restart.DefaultRestartInitializer.getInitialUrls(DefaultRestartInitializer.java:56)
    at org.springframework.boot.devtools.restart.Restarter.<init>(Restarter.java:140)
    at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:546)
    at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:67)
    at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:45)
    at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:167)
    at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
    at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:122)
    at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:69)
    at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:48)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:292)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1118)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1107)
    at com.autoparts.autoeshop.Application.main(Application.java:12)
Caused by: 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 org.springframework.boot.devtools.restart.ChangeableUrls.getUrlsFromManifestClassPathAttribute(ChangeableUrls.java:131)
    at org.springframework.boot.devtools.restart.ChangeableUrls.getUrlsFromClassPathOfJarManifestIfPossible(ChangeableUrls.java:107)
    ... 16 more

如何找到解决此问题的方法?

2 个答案:

答案 0 :(得分:2)

它是一个常见错误,表示工件已损坏。从maven本地存储库中手动将其删除,然后尝试再次构建。

为此,请删除

中的所有内容
C:/Users/Lukas/.m2/repository/org/hibernate/hibernate-entitymanager

mvn compile在项目目录中。

答案 1 :(得分:0)

如果您使用的是日食,请尝试一下。

检查您的Maven存储库。

Windows + R =>复制并粘贴=> C:/Users/Lukas/.m2/存储库

  

1)如果确实存在。 (C:/Users/Lukas/.m2/存储库)

2)Eclipse>程序包资源管理器(或项目资源管理器)> R单击>

“ Maven安装”之后的“ Maven Clean”

enter image description here

Eclipse>程序包资源管理器(或Project Explorer)> R单击>

“ Maven>更新项目...”

enter image description here

  

3)如果不存在。 (C:/Users/Lukas/.m2/存储库)

4)找到您的Maven存储库的真实路径,然后在Eclipse中更新存储库路径 偏好。

单击“重新索引”按钮后,将存储库路径复制并粘贴到“本地存储库”。

enter image description here

  

5)如果仍然有错误,请在pom.xml文件中添加以下代码。     然后执行2)。

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-entitymanager</artifactId>
    <version>5.0.12.Final</version>
</dependency>
  

6)运行您的项目