Android support-v4的无效LOC标头Maven编译错误

时间:2014-01-10 10:35:37

标签: android maven

我在maven构建我的pom.xml文件时遇到编译失败错误。

编译错误是:

error reading C:\Users\amrit\.m2\repository\com\google\android\support-v4\r6\support-v4-r6.jar; invalid LOC header (bad signature).

有谁知道如何解决这个问题? 以下是我的pom.xml文件:

<project xmlns = "http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>MyListReq</groupId>
<artifactId>MyListReq</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>AtosList</name>


<dependencies>
    <dependency>
        <groupId>com.google.android</groupId>
        <artifactId>android</artifactId>
        <version>4.1.1.4</version>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>com.google.android</groupId>
        <artifactId>support-v4</artifactId>
        <version>r6</version>
    </dependency>

</dependencies>



<build>
    <sourceDirectory>src</sourceDirectory>
    <plugins>

        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
                <fork>true</fork>
                <executable>C:\Program Files\Java\jdk1.7.0_03\bin\javac.exe
                </executable>
            </configuration>
        </plugin>

        <plugin>
            <groupId>com.jayway.maven.plugins.android.generation2</groupId>
            <artifactId>android-maven-plugin</artifactId>
            <configuration>
                <sdk>
                    <path>${env.ANDROID_HOME}</path>
                    <platform>17</platform>
                </sdk>
            </configuration>
            <extensions>true</extensions>
        </plugin>

    </plugins>
</build>

我无法解决此问题。任何形式的帮助将不胜感激。

1 个答案:

答案 0 :(得分:9)

该错误意味着本地缓存的.jar已损坏。请删除C:\Users\amrit.m2\repository\com\google\android\support-v4\r6\support-v4-r6.jar并允许Maven重新下载该文件。

如果错误仍然,那么Maven从.jar下载的源存储库就不好了。考虑切换Maven存储库或更改为库的不同版本 - r7(如果可以),例如:

<dependency>
    <groupId>com.google.android</groupId>
    <artifactId>support-v4</artifactId>
    <version>r7</version>
</dependency>

或者从http://mvnrepository.com/artifact/com.google.android/support-v4/r6

等Maven存储库手动下载.jar

注意: Google不负责将这些库添加到Maven存储库,这就是为什么a)它们不是最新的b)为什么(有时)它们是腐败的 - 请参阅Android support library setup with maven