Java hibernate-commons-annotations-4.0.1.Final.jar;LOC标头无效(签名错误)?

Java hibernate-commons-annotations-4.0.1.Final.jar;LOC标头无效(签名错误)?,java,hibernate,maven,Java,Hibernate,Maven,我是Maven新手。我正在尝试为springMVC+Hibernate创建Maven项目,但我遇到了很多错误。有人能解决我的问题吗?请查看我的pom.xml以了解以下信息 <?xml version="1.0" encoding="UTF-8"?><project> <modelVersion>4.0.0</modelVersion> <groupId>Spring3HibernateMaven</groupId&

我是Maven新手。我正在尝试为springMVC+Hibernate创建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>
有人能帮我解决我的问题吗。
我正在使用apache-maven-3.2.1+Java1.6+ecpliseIndigo

这看起来像是下载损坏的jar的问题。我只在使用eclipse时看到过这种情况。以下是我为解决这个问题所做的:

  • 从C:\Users\Bhanu.m2\repository中删除内容。要么什么都做,要么选择性地——你的选择
  • 然后使用命令提示符强制下载JAR并生成

    mvn clean install
    

另一个选项是更新Maven设置文件-
C:\\repos\\mycustomrepo


如果你在不同的不相关的项目中工作,这会很有用——就像我的情况一样@Vinay Rao answer为我指明了创建自定义回购的方向。

我也遇到了同样的问题。所以我更新了我的maven库,它对我有效。

我会告诉你我做了什么


我在公共日志记录中遇到了相同的错误,因此我转到C:\Users\admin.m2\repository\commons日志记录并删除了该目录。这个问题在我下次编译时得到了解决。

我在运行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并成功构建项目。

我知道这是一个旧线程,但我也遇到了同样的问题(尽管使用了不同的jar文件)

在eclipse中,当maven构建由于LOC头损坏而失败时,会生成一条警告(在我的例子中,它是spring-tx-3.0.3.RELEASE.pom,但可能是任何其他maven依赖性)


进入构建堆栈跟踪,找出哪个JAR出现故障,从.m2存储库中删除相应的repo文件夹并重新生成,这应该可以解决问题。

它会抛出,因为您的hibernate-commons-annotations-4.0.1.Final.JAR无效或已损坏

按照以下步骤操作:

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

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

步骤2:重新启动Eclipse

步骤3:Maven->更新项目。选中-强制更新快照/发布

步骤4:以Maven Clean的身份运行

步骤5:以Maven安装方式运行

步骤6:清洁项目

步骤7:运行您的项目

我希望你能在这里找到解决办法


谢谢。

重要的是要记住,无效的东西是无用的(例如损坏的),因此:

  • 删除所有具有无效签名的JAR。无效意味着无效
  • 更新Maven项目,清理,安装
  • 如果您仍然得到无效的LOC头-更改repo和您的ISP
我也有类似的问题,它与修正主义或Maven本身无关。。。问题已经解决了( )


祝你好运

原因是jar文件已损坏。
使用
mvn依赖项:清除本地存储库
删除并重新加载本地maven存储库中的依赖项。

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

选择相应的项目并将其从.m2中删除。然后使用maven进行mvn清理安装,否则在终端中相应地构建它。它将为您重新创建这些jar文件,并在服务器中重新安装ear或war文件,现在应该可以部署了


这对我有用

在上述情况下,从.m2/repository/文件夹中删除commons-logging-1.1.jar,然后运行maven安装,它肯定会成功。

您必须从.m2存储库中删除所有jar并再次运行maven项目:如果您已经有war,那么您必须删除所有jar并再次下载

  • 从.m2\repository中删除内容。从你的目录

    mvn clean install
    

只需删除
.m2
repo中一个有问题的子文件夹,并强制执行
更新项目(在我使用
强制更新快照的情况下)
)我通过删除“repository\org\springframework\data\spring data jpa”的所有子文件夹解决了一个类似的(无效的LOC头)问题然后运行“mvn clean install-U”。然而,我仍然必须将Maven依赖项包含并导出到Eclipse构建路径中,我登录只是为了表示对此建议表示赞同。这对我有用。谢谢“更新我的maven库”是什么意思?你能提供一些说明吗?
mvn clean install