有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

安卓项目的java Maven编译错误“错误:包R不存在”

我正在尝试用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.安卓</groupId>
            <artifactId>安卓</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的经验,所以我相信我错过了一些东西


共 (1) 个答案

  1. # 1 楼答案

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

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

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

    所以现在我有了

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