冬眠-公地注解-4.0.1.Final.jar; 无效的LOC头(坏签名)?

我是新的Maven ..我想创buildspringMVC + Hiberante的maven项目,但我得到很多错误..任何一个解决我的问题,请检查我的pom.xml下面

<?xml version="1.0" encoding="UTF-8"?><project> <modelVersion>4.0.0</modelVersion> <groupId>Spring3HibernateMaven</groupId> <artifactId>Spring3HibernateMaven</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <description></description> <build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.5</source> <target>1.5</target> </configuration> </plugin> <!-- <plugin> <artifactId>maven-war-plugin</artifactId> <version>2.0</version> </plugin> --> </plugins> </build> <dependencies> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>${org.springframework.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${org.springframework.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${org.springframework.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${org.springframework.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>${org.springframework.version}</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>4.1.9.Final</version> </dependency> <dependency> <groupId>taglibs</groupId> <artifactId>standard</artifactId> <version>1.1.2</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.1.2</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.10</version> </dependency> <dependency> <groupId>commons-dbcp</groupId> <artifactId>commons-dbcp</artifactId> <version>20030825.184428</version> </dependency> <dependency> <groupId>commons-pool</groupId> <artifactId>commons-pool</artifactId> <version>20030825.183949</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.5</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>1.6.4</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.5</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-annotations</artifactId> <version>3.4.0.GA</version> </dependency> </dependencies> <properties> <org.springframework.version>3.0.2.RELEASE</org.springframework.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> </project> 

但我收到以下错误

 [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project Spring3HibernateMaven: Compilation failure: Compilation failure: [ERROR] error: error reading C:\Users\Bhanu\.m2\repository\commons-logging\commons-logging\1.1.1\commons-logging-1.1.1.jar; invalid LOC header (bad signature) [ERROR] error: error reading C:\Users\Bhanu\.m2\repository\org\hibernate\hibernate-core\4.1.9.Final\hibernate-core-4.1.9.Final.jar; invalid LOC header (bad signature) [ERROR] error: error reading C:\Users\Bhanu\.m2\repository\antlr\antlr\2.7.7\antlr-2.7.7.jar; invalid LOC header (bad signature) [ERROR] error: error reading C:\Users\Bhanu\.m2\repository\org\jboss\logging\jboss-logging\3.1.0.GA\jboss-logging-3.1.0.GA.jar; invalid LOC header (bad signature) [ERROR] error: error reading C:\Users\Bhanu\.m2\repository\dom4j\dom4j\1.6.1\dom4j-1.6.1.jar; invalid LOC header (bad signature) [ERROR] error: error reading C:\Users\Bhanu\.m2\repository\org\hibernate\javax\persistence\hibernate-jpa-2.0-api\1.0.1.Final\hibernate-jpa-2.0-api-1.0.1.Final.jar; invalid LOC header (bad signature) [ERROR] error: error reading C:\Users\Bhanu\.m2\repository\org\hibernate\common\hibernate-commons-annotations\4.0.1.Final\hibernate-commons-annotations-4.0.1.Final.jar; invalid LOC header (bad signature) [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException 

任何人都可以帮助我如何解决我的问题。 我使用的是Apache-Maven-3.2.1 + Java1.6 + ecpliseIndigo

这看起来像是一个腐败的jar子被下载的问题。 我只有在使用eclipse时才会看到这种情况。 这是我做了什么来摆脱这个问题:

  • 从C:\ Users \ Bhanu.m2 \ repository中删除内容。 无论是一切还是有select的 – 您的select。
  • 然后使用命令提示符强制下载jar和生成

     mvn clean install 

我会告诉你我做了什么

我在通用日志logging中遇到同样的错误,所以我去了C:\ Users \ admin.m2 \ repository \ commons-logging并删除了这个目录。 这个问题下次编译就解决了。

它抛出因为你的hibernate-commons-annotations-4.0.1.Final.jar是无效的或损坏的。

按照步骤:

注意:.m2文件夹是默认隐藏的。 取消隐藏文件夹。

第1步:删除.m2 / repository文件夹中的所有内容。

第2步:重新启动您的Eclipse。

第3步:Maven->更新项目。查看 – 强制更新快照/发布。

步骤4:作为Maven Clean运行。

第5步:作为Maven安装运行。

第六步:清理项目。

第7步:运行您的项目。

我希望你在这里find你的解决scheme..

谢谢..

我知道这是一个古老的线程,但我面临同样的问题(尽pipe与一个不同的jar文件)。

在eclipse中,当一个maven版本由于损坏的LOC头文件而失败时,会产生一个警告(在我的例子中是spring-tx-3.0.3.RELEASE.pom,但是可能是其他的maven依赖)。

在构build堆栈跟踪中找出哪个JAR失败,从.m2存储库中删除相应的repo文件夹并重build,这应该做的伎俩。

记住什么是无效的(例如损坏)是很重要的,所以:

  • 删除签名无效的所有JAR。 无效意味着无效。
  • 更新Maven项目,干净,安装。
  • 如果你仍然得到无效的LOC标题 – 更改回购和您的ISP …

我有类似的问题,这与修改或Maven本身没有任何关系…问题是损坏的JAR( 带Maven插件的Eclipse不适用于最新版本,但适用于较旧版本 )。

祝你好运!

原因是一个损坏的jar文件。 使用mvn dependency:purge-local-repository来删除和重新加载你的本地Maven仓库中的依赖项。

运行mvn clean install命令时出现同样的错误

 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.0.2:compile (default-compile) on project MongoModule: Compilation failure [ERROR] error: error reading /home/radium/.m2/repository/org/mongodb/mongo-java-driver/3.2.2/mongo-java-driver-3.2.2.jar; invalid LOC header (bad signature) [ERROR] -> [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.0.2:compile (default-compile) on project MongoModule: Compilation failure error: error reading /home/radium/.m2/repository/org/mongodb/mongo-java-driver/3.2.2/mongo-java-driver-3.2.2.jar; invalid LOC header (bad signature) 

然后,我从maven仓库中删除了mongo-java-driver-3.2.2.jar文件,并重新运行maven build命令,强制Maven重新下载jar并成功构build项目。

另一个select是删除repo而不是添加一个新的,更新Maven设置文件 – <localRepository>C:\\repos\\mycustomrepo</localRepository>

如果你在不同的不相关的项目之间工作,这是非常有用的 – 就像我的情况一样。 @Vinay Rao答案指出了我创build一个自定义回购的方向。

我遇到了同样的问题。所以我更新了我的Maven库,它为我工作。

Nagivate到你的C:\ Users \ user.m2 \ repository \ projects \ project1

select相应的项目并将其从.m2中删除。 然后如果你使用maven做mvn干净的安装,否则相应地在terminal上build立它。 它会重新创build这些jar文件重新安装耳朵或战争文件在服务器,它应该现在部署就好了。

它为我工作。