6

我们正在使用 Maven 和 IntelliJ IDEA 构建我们的 Android 项目。有时我们必须执行“重新导入所有 Maven 项目”,例如更新依赖项。问题在于它总是弄乱资源的源文件夹:所有模块都得到“gen”和“target/generated-source/r”,这似乎是重复的原因。所以重新导入后,我们需要手动删除其中一个(通常是“gen”文件夹)。当然,我们要避免这一步。我们为 Android 方面尝试了几种设置,但到目前为止都没有运气。

那么,我们如何配置 IntelliJ 以执行正确的 Maven 重新导入,这样才有效?

4

3 回答 3

2

根据 Sven Strohschein 在http://youtrack.jetbrains.com/issue/IDEA-94901的回复,您可以尝试:

  1. 删除“gen”、“target”和“out”文件夹
  2. 还原“ipr”和“iml”文件中的更改(或者只是将它们全部删除,甚至可能是 .idea 文件夹)
  3. 启动 IntelliJ 12
  4. 打开pom文件
  5. 右键单击->“Maven”->“重新导入”
  6. “构建”->“重建项目”

对我有用。

于 2013-08-30T16:28:22.523 回答
1

IDEA 检测到 Android facet 并将其添加到模块后,它会gen在通常的位置开始生成文件夹,但会maven-android-plugin生成自己的下target目录。

maven-android-plugin您需要告诉 IDEA 将生成的文件放在创建它们的相同位置。

首先,使用模块的 android facet 设置并选中使用 Maven 目标而不是自己生成的选项:

在此处输入图像描述

然后,进入模块的设置并设置与Maven相同的输出路径,即target目录:

在此处输入图像描述

删除gen目录,mvn clean清除所有不必要的文件。

于 2013-08-30T16:50:07.353 回答
0

根据您上面的描述,我猜您的项目结构与 Maven 默认值不同。请参阅POM 简介。但我认为如果您更改了资产目录等,android android:generate-sources会更有趣。

例子:

<sourceDirectory>${basedir}/src</sourceDirectory> 
<outputDirectory>${basedir}/target/classes</outputDirectory>
于 2013-07-29T10:46:19.780 回答