web-dev-qa-db-fra.com

hibernate-commons-annotations-4.0.1.Final.jar; En-tête LOC invalide (mauvaise signature)?

Je suis nouveau pour Maven ..Je suis en train de créer un projet Maven pour springMVC + Hiberante mais je reçois beaucoup d’erreurs.

<?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>

mais j'obtiens les erreurs suivantes

[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

Quelqu'un peut-il m'aider à résoudre mon problème? J'utilise Apache-maven-3.2.1 + Java1.6 + ecpliseIndigo

44
user2963481

Cela ressemble à un problème de fichiers corrompus en cours de téléchargement. J'ai vu cela se produire uniquement lorsque j'utilise Eclipse. Voici ce que j'ai fait pour résoudre ce problème:

  • Supprimez le contenu de C:\Users\Bhanu.m2\repository. Soit tout ou sélectivement - votre choix.
  • Ensuite, utilisez la commande Invite pour forcer le téléchargement des fichiers jar et construire

    mvn clean install
    
86
Vinay Rao

Parce que votre fichier hibernate-commons-annotations-4.0.1.Final.jar est invalide ou corrompu.

Suis les étapes:

Remarque: le dossier .m2 est masqué par défaut. Annuler le dossier.

Étape 1: Supprimez tout le contenu du dossier .m2/repository.

Étape 2: Redémarrez votre Eclipse.

Étape 3: Maven-> Mettre à jour le projet .Checked- Forcer la mise à jour des instantanés/des versions.

Étape 4: Exécuter en tant que Maven Clean.

Étape 5: Exécuter en tant qu'installation Maven.

Étape 6: Projet propre.

Étape 7: Exécutez votre projet.

J'espère que vous trouverez votre solution ici ..

Merci..

7
Ketul patel

Je vais vous dire ce que j'ai fait

La même erreur se produisant dans la journalisation commune, je suis donc allé dans C:\Utilisateurs\admin.m2\repository\commons-logging et j'ai supprimé le répertoire. Le problème a été résolu lors de la prochaine compilation.

7
Somum

La raison est un fichier JAR corrompu. Utilisation mvn dependency:purge-local-repository pour supprimer et recharger vos dépendances dans votre référentiel Maven local.

5
Niklas Schlimm

Je sais que c'est un vieux fil, mais j'ai rencontré le même problème (bien qu'avec un fichier JAR différent).

Dans Eclipse, lorsqu'une version maven échoue à cause d'un en-tête de LOC corrompu, un avertissement est généré (dans mon cas, il s'agissait de spring-tx-3.0.3.RELEASE.pom mais il pourrait s'agir de toute autre dépendance maven).

Montez dans la pile de trace de construction et identifiez le fichier JAR qui échoue, supprimez le dossier de référent correspondant des référentiels .m2 et reconstruisez, qui devrait faire l'affaire.

4
Makarand

Il est important de se rappeler que ce qui est invalide est inutile (corrompu, par exemple), donc:

  • Supprimez tous les fichiers JAR dont la signature est invalide. invalide signifie invalide.
  • Mettre à jour le projet Maven, nettoyer, installer.
  • Si vous obtenez toujours un en-tête LOC non valide, changez le dépôt et votre FAI ...

J'avais un problème similaire et cela n'avait rien à voir avec la révision ou Maven lui-même ... Le problème était corrompu. JAR ( Eclipse avec le plugin Maven ne fonctionne pas avec les dernières révisions, mais fonctionne avec les anciennes ).

Bonne chance!

3
Witold Kaczurba

Je recevais la même erreur en exécutant la commande 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)

Ensuite, j'ai supprimé le fichier mongo-Java-driver-3.2.2.jar du référentiel maven, puis réexécutez la commande maven build, ce qui a obligé le maven à télécharger à nouveau le fichier jar et à construire le projet.

2
Asif Iquebal Ajazi

Dans le cas ci-dessus, supprimez le fichier commons-logging-1.1.1.jar du dossier .m2/repository /, puis exécutez simplement maven-install. Il sera définitivement réussi.

0
BlackOcean

J'avais le même problème. J'ai donc mis à jour ma bibliothèque Maven et cela a fonctionné pour moi.

0
tarun kumar

Vous devez supprimer tous les fichiers jar de votre référentiel .m2 et relancer le projet maven: si vous êtes déjà en guerre, vous devez supprimer tous les fichiers et les télécharger à nouveau.

  • Supprimer le contenu de .m2\repository. de votre annuaire

    mvn clean install
    
0
Bheem Singh

Une autre option consiste à mettre à jour le fichier de paramètres Maven au lieu de supprimer le référentiel, d’en ajouter un nouveau - <localRepository>C:\\repos\\mycustomrepo</localRepository>

Cela peut être utile si vous travaillez entre différents projets non liés, comme ce fut mon cas. La réponse de @Vinay Rao m'a orienté dans la direction de la création d'un dépôt personnalisé.

0
blue-sky

Nagivate à votre C:\Users\user.m2\repository\projets\project1

Choisissez le projet correspondant et supprimez-le de votre fichier .m2. Ensuite, si vous utilisez maven do mvn clean install, construisez-le en conséquence dans le terminal. il va recréer ces fichiers jar pour vous. Réinstallez le fichier ear ou war dans le serveur et le déploiement devrait bien se dérouler maintenant.

Cela a fonctionné pour moi.

0
Boris_Ndong