java - Android项目 "error: package R does not exist "的Maven编译错误

标签 java android maven

我正在尝试使用 Android 应用程序设置 MAVEN 项目。 我有这个 pom 文件

<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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.myproject</groupId>
  <artifactId>userprofile</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>userprofile</name>
  <url>http://maven.apache.org</url>
    <dependencies>
        <dependency>
            <groupId>com.google.android</groupId>
            <artifactId>android</artifactId>
            <version>4.1.1.4</version>
            <scope>provided</scope>
        </dependency>

    </dependencies>
</project>

并且在 MAVEN 编译期间我收到此错误(大约 100 次,即与我的方法中使用的次数一样多)

    [INFO] -------------------------------------------------------------
    [ERROR] COMPILATION ERROR : 
    [INFO] -------------------------------------------------------------
src\main\java\com\myproject\userprofile\BaseActivity.java:[52,43] error: package R does not exist
    Process finished with exit code 1

知道这个错误吗?在网络上,我要么找到有关类似错误输出的未解决问题。我没有使用 MAVEN 的经验,所以我相信我在这里遗漏了一些东西。

最佳答案

R 类是在编译期间由您的 IDE 构建的。 MAVEN 找不到 R 类,因为默认情况下可以在构建文件夹下找到该类。你需要添加这样的东西

<sourceDirectory>build</sourceDirectory>
<outputDirectory>target</outputDirectory>

告诉 MAVEN 你在构建文件夹下有一些资源文件,你想让它们可以编译,所以将它们添加到你项目下的目标文件夹下。

所以现在我有

build
  |----res
  |----src
src
  |----main
       |----java
       |----res 
target

关于java - Android项目 "error: package R does not exist "的Maven编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19496939/

相关文章:

java - 使用 Retrofit 使用特殊字符进行 POST

android - Eclipse 创建的应用程序无法在 Android 模拟器中运行

android - 无法在设备 : error for Android 上执行 shell 命令 "getprop,dev.bootcomplete"“

java - Maven项目一定是Java包吗?

java - 创建阴影 jar : null: IllegalArgumentException 时出错

java - 哪个更好 : Implementing a Runable Interface or extending Thread Class

java - RestController 父类的 Aspect 方法不会触发通知逻辑

java - 来自外部jar问题的Spring UTF-8消息资源

android - 混淆文件夹结构 - Android

maven - 如何告诉 Maven 忽略 SSL 错误(并信任所有证书)?