web-dev-qa-db-ja.com

hibernate-commons-annotations-4.0.1.Final.jar;無効なLOCヘッダー(不正な署名)?

私はMavenの初心者です..springMVC + Hiberanteのmavenプロジェクトを作成しようとしていますが、多くのエラーが発生しています。誰でも私の問題を解決できますか?

<?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を使用しています

44
user2963481

これは、破損したjarがダウンロードされる問題のように見えます。これは、Eclipseを使用する場合にのみ発生します。この問題を取り除くために私がしたことは次のとおりです。

  • C:\ Users\Bhanu.m2\repositoryからコンテンツを削除します。すべてまたは選択的に-あなたの選択。
  • 次に、コマンドプロンプトを使用して、jarのダウンロードとビルドを強制します

    mvn clean install
    
86
Vinay Rao

Hibernate-commons-annotations-4.0.1.Final.jarが無効または破損しているため、スローされます。

手順に従ってください:

注:.m2フォルダーはデフォルトで非表示です。フォルダの非表示を解除します。

手順1:.m2/repositoryフォルダー内のすべてのコンテンツを削除します。

ステップ2:Eclipseを再起動します。

ステップ3:Maven-> Update Project .Checked-スナップショット/リリースの強制更新。

ステップ4:Maven Cleanとして実行します。

ステップ5:Mavenインストールとして実行します。

ステップ6:プロジェクトをクリーンアップします。

ステップ7:プロジェクトを実行します。

ここで解決策を見つけてください。

ありがとう。

7
Ketul patel

私がやったことを教えてあげます

Common-loggingで同じエラーが発生していたため、C:\ Users\admin.m2\repository\commons-loggingに移動してディレクトリを削除しました。この問題は、次回コンパイルしたときに解決されました。

7
Somum

理由は、破損したjarファイルです。 mvn dependency:purge-local-repositoryを使用して、ローカルMavenリポジトリーで依存関係を削除および再ロードします。

5
Niklas Schlimm

私はこれが古いスレッドであることを知っていますが、同じ問題に直面しました(ただし、別のjarファイルを使用しています)。

Eclipseでは、破損したLOCヘッダーのためにMavenビルドが失敗すると、警告が生成されます(私の場合はspring-tx-3.0.3.RELEASE.pomでしたが、他のMaven依存関係である可能性があります)。

スタックトレースのビルドに進み、どのJARが失敗しているかを把握し、対応するリポジトリフォルダーを.m2リポジトリから削除して再構築します。これでうまくいきます。

4
Makarand

無効なものは役に立たない(破損など)ことを覚えておくことが重要です。

  • 無効な署名を持つすべてのJARを削除します。無効は無効を意味します。
  • Mavenプロジェクトを更新し、クリーンアップしてインストールします。
  • それでも無効なLOCヘッダーが表示される場合は、リポジトリとISPを変更してください...

私は同様の問題を抱えていて、リビジョンやMaven自体とは何の関係もありませんでした...問題はJARに破損していました( Mavenプラグインを備えたEclipseは最新のリビジョンでは動作しませんが、古いリビジョンでは動作します )。

幸運を!

3
Witold Kaczurba

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リポジトリからmongo-Java-driver-3.2.2.jarファイルを削除し、maven buildコマンドを再実行しました。これにより、mavenはjarを再ダウンロードし、プロジェクトを正常にビルドしました。

2

上記の場合、commons-logging-1.1.1.jarを.m2/repository /フォルダーから削除し、maven-installを実行するだけで、間違いなく成功します。

0
BlackOcean

私は同じ問題を抱えていたので、Mavenライブラリを更新しましたが、うまくいきました。

0
tarun kumar

.m2リポジトリからすべてのjarを削除し、mavenプロジェクトを再度実行する必要があります。すでに戦争が発生している場合は、すべてのjarを削除して再度ダウンロードする必要があります。

  • .m2\repositoryからコンテンツを削除します。あなたのディレクトリから

    mvn clean install
    
0
Bheem Singh

別のオプションは、リポジトリを削除する代わりに新しいリポジトリを追加し、Maven設定ファイルを更新することです-<localRepository>C:\\repos\\mycustomrepo</localRepository>

これは、私の場合のように、異なる無関係のプロジェクト間で作業している場合に役立ちます。 @Vinay Raoの回答は、カスタムリポジトリを作成する方向を示してくれました。

0
blue-sky

C:\ Users\user.m2\repository\projects\project1に移動します

対応するプロジェクトを選択して、.m2から削除します。次に、maven do mvn clean installを使用するか、ターミナルで適宜ビルドします。これらのjarファイルが再作成されます。earファイルまたはwarファイルをサーバーに再インストールすると、問題なく展開されるはずです。

それは私のために働いた。

0
Boris_Ndong