hibernate-commons-annotations-4.0.1.Final.jar;无效的 LOC 标头(错误的签名)?
Posted
技术标签:
【中文标题】hibernate-commons-annotations-4.0.1.Final.jar;无效的 LOC 标头(错误的签名)?【英文标题】:hibernate-commons-annotations-4.0.1.Final.jar; invalid LOC header (bad signature)? 【发布时间】:2014-06-12 04:37:05 【问题描述】:我是 Maven 新手 ..我正在尝试为 springMVC+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
【问题讨论】:
【参考方案1】:您必须从 .m2 存储库中删除所有 jars 并再次运行 maven 项目:如果您已经有战争,那么您必须删除所有 jars 并重新下载。
从 .m2\repository 中删除内容。从你的目录
mvn clean install
【讨论】:
【参考方案2】:如上情况,从.m2/repository/文件夹中删除commons-logging-1.1.1.jar,然后运行maven-install,肯定会成功。
【讨论】:
【参考方案3】:导航到您的 C:\Users\user.m2\repository\projects\project1
选择相应的项目并将其从您的 .m2 中删除。然后如果你使用 maven do mvn clean install 否则在终端中相应地构建它。它将为您重新创建这些 jar 文件在服务器中重新安装 ear 或 war 文件,它现在应该可以正常部署了。
它对我有用。
【讨论】:
【参考方案4】:原因是 jar 文件损坏。
使用 mvn dependency:purge-local-repository
删除并重新加载本地 maven 存储库中的依赖项。
【讨论】:
【参考方案5】:重要的是要记住无效的东西是无用的(例如损坏的),所以:
删除所有签名无效的 JAR。 invalid 表示无效。 更新 Maven 项目,清理,安装。 如果您仍然收到无效的 LOC 标头 - 更改 repo 和您的 ISP...我有类似的问题,它与修订或 Maven 本身无关......问题是 JAR 损坏( Eclipse with Maven plugin does not work with latest revisions, but works with older ones)。
祝你好运!
【讨论】:
【参考方案6】:它抛出是因为您的 hibernate-commons-annotations-4.0.1.Final.jar 无效或损坏。
按照步骤操作:
注意:.m2 文件夹默认隐藏。取消隐藏文件夹。
第1步:删除.m2/repository文件夹中的所有内容。
第 2 步:重新启动 Eclipse。
第 3 步:Maven->更新项目。Checked-强制更新快照/发布。
第 4 步:以 Maven Clean 身份运行。
第 5 步:作为 Maven 安装运行。
第 6 步:清理项目。
第 7 步:运行您的项目。
我希望你在这里找到你的解决方案..
谢谢..
【讨论】:
【参考方案7】:我知道这是一个旧线程,但我遇到了同样的问题(尽管使用不同的 jar 文件)。
在 Eclipse 中,当由于 LOC 标头损坏而导致 maven 构建失败时,会生成警告(在我的情况下,它是 spring-tx-3.0.3.RELEASE.pom 但可能是任何其他 maven 依赖项)。
进入构建堆栈跟踪并找出哪个 JAR 失败,从 .m2 存储库中删除相应的 repo 文件夹并重新构建,这应该可以解决问题。
【讨论】:
【参考方案8】:我在运行 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 repo中删除了mongo-java-driver-3.2.2.jar文件并重新运行maven build命令,这迫使maven重新下载jar并成功构建项目。
【讨论】:
【参考方案9】:我会告诉你我做了什么
我在 common-logging 中遇到了同样的错误,所以我去了 C:\Users\admin.m2\repository\commons-logging 并删除了目录。下次编译的时候问题就解决了。
【讨论】:
【参考方案10】:我遇到了同样的问题。所以我更新了我的 maven 库,它对我有用。
【讨论】:
“更新我的 maven 库”是什么意思?你能提供一些说明吗?【参考方案11】:另一种选择是更新 Maven 设置文件而不是删除 repo 添加一个新的 repo - <localRepository>C:\\repos\\mycustomrepo</localRepository>
如果您在不同的不相关项目之间工作 - 就像我的情况一样,这可能很有用。 @Vinay Rao 的回答为我指明了创建自定义仓库的方向。
【讨论】:
【参考方案12】:这看起来像是下载损坏的 jar 的问题。我只在使用 eclipse 时看到过这种情况。这是我为摆脱这个问题所做的:
从 C:\Users\Bhanu.m2\repository 中删除内容。无论是一切还是选择性 - 您的选择。然后使用命令提示符强制下载jar并构建
mvn clean install
【讨论】:
只需删除.m2
repo 中的一个有问题的后代子文件夹并强制使用Update Project
(在我的情况下使用Force update snapshots
)就可以了
感谢您,我通过删除“repository\org\springframework\data\spring-data-jpa\..”的所有子文件夹然后运行“mvn clean”解决了类似(无效的 LOC 标头)问题之后安装-U”。但是我仍然必须将 Maven 依赖项包含并导出到 Eclipse 构建路径中
我登录只是为了对这个建议竖起大拇指。它对我有用。谢谢以上是关于hibernate-commons-annotations-4.0.1.Final.jar;无效的 LOC 标头(错误的签名)?的主要内容,如果未能解决你的问题,请参考以下文章