我是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
答案 0 :(得分:86)
这看起来像是下载了腐败的罐子的问题。我看到这种情况只有在我使用eclipse时才会发生。以下是我为解决这个问题所做的工作:
然后使用命令提示符强制下载jar并构建
mvn clean install
答案 1 :(得分:7)
我会告诉你我做了什么
我在common-logging中遇到同样的错误,所以我去了C:\ Users \ admin.m2 \ repository \ commons-logging并删除了目录。我下次编译时问题就解决了。
答案 2 :(得分:5)
原因是一个损坏的jar文件。
使用mvn dependency:purge-local-repository
删除并重新加载本地maven存储库中的依赖项。
答案 3 :(得分:4)
我知道这是一个旧线程,但我遇到了同样的问题(尽管有一个不同的jar文件)。
在eclipse中,当maven构建因LOC头损坏而失败时,会产生警告(在我的情况下,它是spring-tx-3.0.3.RELEASE.pom,但可能是任何其他maven依赖)。
进入构建堆栈跟踪并确定哪个JAR失败,从.m2存储库中删除相应的repo文件夹并重建,这应该可以解决问题。
答案 4 :(得分:3)
重要的是要记住,无效的内容是无用的(例如损坏的),所以:
我有类似的问题,它与修改或Maven本身无关......问题是损坏的JAR( Eclipse with Maven plugin does not work with latest revisions, but works with older ones)。
祝你好运!答案 5 :(得分:2)
运行 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并成功构建项目。
答案 6 :(得分:0)
另一个选择是,不是删除repo添加新的,更新Maven设置文件 - <localRepository>C:\\repos\\mycustomrepo</localRepository>
如果您在不同的不相关项目之间工作,这可能很有用 - 就像我的情况一样。 @Vinay Rao的回答指出了我在创建自定义回购的方向。
答案 7 :(得分:0)
我遇到了同样的问题。所以我更新了我的maven库,它对我有用。
答案 8 :(得分:0)
Nagivate到您的C:\ Users \ user.m2 \ repository \ projects \ project1
选择相应的项目并从.m2中删除它。然后你使用maven做mvn clean install,否则在终端中相应地构建它。它将为您重新创建这些jar文件在服务器中重新安装ear或war文件,它现在应该部署得很好。
它对我有用。
答案 9 :(得分:0)
在上述情况下,从.m2 / repository /文件夹中删除commons-logging-1.1.1.jar,然后仅运行maven-install,肯定会成功。
答案 10 :(得分:0)
您必须从.m2存储库中删除所有jar,然后再次运行maven项目:如果您已经战争,则必须删除所有jar并重新下载。
从.m2 \ repository中删除内容。从您的目录中
mvn clean install