Зимует-Викисклад аннотации-4.0.1.Final.jar; недопустимый заголовок LOC (плохая подпись)?
Я новичок в Maven.. Я пытаюсь создать проект maven для springMVC + Hiberante, но я получаю много ошибок. Если кто-то скажет мне о своей проблеме, пожалуйста, проверьте мой 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
Это похоже на проблему загрузки поврежденных банок. Я видел это, только когда я использую eclipse. Вот что я сделал, чтобы избавиться от этой проблемы:
Ответ 2
Я расскажу вам, что я сделал
Я получал ту же ошибку в общем протоколировании, поэтому перешел в C:\Users\admin.m2\repository\commons-logging и удалил каталог. Проблема была решена в следующий раз, когда я скомпилировал.
Ответ 3
It Throw Поскольку ваши hibernate-commons-annotations-4.0.1.Final.jar недействительны или повреждены.
Следуйте шагам:
Примечание:.m2 Папка скрыта по умолчанию. UnHide the Folder.
Шаг 1: Удалите все содержимое в папке .m2/репозиторий.
Шаг 2: Перезапустите Eclipse.
Шаг 3: Maven- > Обновить проект. Проверено - принудительное обновление снимков/выпусков.
Шаг 4: Запустите как Maven Clean.
Шаг 5: Запустите программу Maven Install.
Шаг 6: Очистить проект.
Шаг 7: Запустите проект.
Надеюсь, вы найдёте свое решение здесь.
Спасибо..
Ответ 4
Причина - поврежденный файл jar.
Используйте mvn dependency:purge-local-repository
для удаления и перезагрузки зависимостей в локальном хранилище maven.
Ответ 5
Я знаю, что это старый поток, но я столкнулся с той же проблемой (хотя и с другим файлом jar).
В eclipse, когда сборка maven сбой из-за поврежденного заголовка LOC, создается предупреждение (в моем случае это было spring -tx-3.0.3.RELEASE.pom, но может быть любой другой зависимостью от maven).
Перейдите в строку построения стека и выясните, какой JAR не работает, удалите соответствующую папку репо из репозиториев .m2 и перестройте, что должно сделать трюк.
Ответ 6
Важно помнить, что недопустимый бесполезен (например, поврежден), поэтому:
- Удалите все JAR, у которых есть недопустимая подпись. неверно означает недопустимый.
- Обновить проект Maven, очистить, установить.
- Если вы по-прежнему получаете недопустимый заголовок LOC - смените репо и ваш интернет-провайдер...
У меня была аналогичная проблема, и она не имела никакого отношения к ревизии или самому Maven... Проблема была повреждена JAR (
Eclipse с плагином Maven не работает с последними версиями, но работает со старыми).
Удачи!
Ответ 7
Я получал ту же ошибку при запуске команды 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)
Затем я удалил файл mongo-java-driver-3.2.2.jar из maven repo и повторно запустил команду maven build, которая заставила maven повторно загрузить банку и успешно создать проект.
Ответ 8
Другой вариант - вместо удаления репо добавить новый, обновить файл настроек Maven - <localRepository>C:\\repos\\mycustomrepo</localRepository>
Это может быть полезно, если вы работаете между разными несвязанными проектами - как это было в моем случае. @Vinay Rao ответ указал мне в направлении создания пользовательского репо.
Ответ 9
У меня была такая же проблема. Поэтому я обновил свою библиотеку maven, и это сработало для меня.
Ответ 10
Нажать на свой C:\Users\user.m2\repository\projects\project1
Выберите соответствующий проект и удалите его из своего .m2. Затем f вы используете maven make mvn clean install, иначе постройте его соответственно в терминале. он воссоздает эти файлы jar для вас. Переустановите ухо или военный файл на сервере, и теперь он должен быть просто отлично.
Это сработало для меня.
Ответ 11
В приведенном выше случае удалите файл commons-logging-1.1.1.jar из папки .m2/repository/, а затем просто запустите maven-install, он обязательно будет успешным.
Ответ 12
Вы должны удалить все файлы jar из своего хранилища .m2 и снова запустить проект maven: если у вас уже есть война, вы должны удалить все файлы jar и загрузить снова.