【问题标题】:Invalid LOC header Maven compilation error for Android support-v4Android support-v4 的无效 LOC 标头 Maven 编译错误
【发布时间】:2014-01-29 06:59:46
【问题描述】:

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

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

【问题讨论】:

    标签: android maven


    【解决方案1】:

    该错误意味着本地缓存的.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

    【讨论】:

    • 非常感谢andyb,通过切换到r7问题得到解决。但是现在它给出了另一个编译错误 R 不存在。
    • 请编辑您的问题并添加带有新错误的日志并阅读stackoverflow.com/questions/4536680/…
    • 我已阅读您提供的链接,但没有找到适合我的问题的解决方案。我已经把它作为一个新问题发布了。查看此链接:stackoverflow.com/questions/21042829/….
    猜你喜欢
    • 1970-01-01
    • 2018-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多