【问题标题】:Maven Compilation Error package R does not existsMaven编译报错包R不存在
【发布时间】:2014-01-29 08:07:16
【问题描述】:

我在构建 pom.xml 文件时获取包 R 不存在。

编译错误是:

[INFO] Compiling 12 source files to E:\My_Work6\AtosListReq\target\classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] E:\My_Work6\MyListReq\src\com\as\dragsortandswipe\DragSortListView.java:[32,23] error: cannot find symbol
[ERROR]   symbol:   class R
  location: package com.as.listreq
E:\My_Work6\MyListReq\src\com\as\dragsortandswipe\DragSortController.java:[17,23] error: cannot find symbol
[ERROR]   symbol:   class R
  location: package com.as.listreq
E:\My_Work6\MyListReq\src\com\as\dragsortandswipe\DragSortListView.java:[406,6] error: package R does not exist
[ERROR] E:\My_Work6\MyListReq\src\com\as\dragsortandswipe\DragSortListView.java:[409,6] error: package R does not exist
[ERROR] E:\My_Work6\MyListReq\src\com\as\dragsortandswipe\DragSortListView.java:[412,6] error: package R does not exist
[ERROR] E:\My_Work6\MyListReq\src\com\as\dragsortandswipe\DragSortListView.java:[419,29] error: package R does not exist
[ERROR] E:\My_Work6\MyListReq\src\com\as\listreq\NextActivity.java:[41,40] error: package R does not exist
[ERROR] E:\My_Work6\MyListReq\src\com\as\listreq\NextActivity.java:[42,43] error: package R does not exist
.
.
.
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project MyListReq: Compilation failure: Compilation failure:
[INFO] 58 errors

下面是我的 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>MyList</name>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    </properties>


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


        <dependency>
            <groupId>com.google.android</groupId>
            <artifactId>support-v4</artifactId>
            <version>r7</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>
</project>

【问题讨论】:

  • 您是否也尝试过*.com/questions/19496939/…*.com/questions/13128169/…?看起来那是一个生成的类
  • 你也调查过..但没有解决我的问题。
  • 看起来该文件是由 Maven Android 插件生成的,但 Maven 编译阶段看不到生成的文件,因为它位于非标准 Maven 源目录位置 - 请参阅 *.com/questions/12771526/…跨度>
  • 是的,该文件是由 Maven Android 插件生成的,我已经检查了您提供的链接,但给出的答案似乎不适用于我的情况。
  • 尝试将R.class 存在的build 目录添加为pom.xml 中的资源 - 请参阅*.com/a/19974322/637889

标签: android maven r.java-file


【解决方案1】:

你已经添加了 com.jayway.maven.plugins.android.generation2 插件,

给apklib添加打包,像这样:

<version>0.0.1-SNAPSHOT</version>
<packaging>apklib</packaging>

没关系

【讨论】: