1

当我跑

gradle idea 

在我的多项目构建中,iml 和 ipr 文件包含我的依赖项的完全解析的目录路径。例如:

<CLASSES>
    <root url="jar://C:/Users/myusername/.gradle/caches/artifacts-24/filestore/.../"/>
</CLASSES>

我希望他们使用 USER_HOME 环境变量:

<CLASSES>
    <root url="jar://$USER_HOME$/.gradle/caches/artifacts-24/filestore/.../"/>
</CLASSES>

这种行为是预期的吗?最终,我想将 iml 和 ipr 提交到我们的源代码库中,供我团队中的其他开发人员使用。

4

1 回答 1

2

我不建议将 IDEA 文件签入源代码管理。相反,您可以在需要时重新生成它们(根据您的需要配置 IDEA 插件之后),或者使用 IDEA 13 (EAP) 中的新 Gradle 插件。但是要回答您的问题,应该使用以下方法:

idea {
    pathVariables USER_HOME: file(System.getProperty("user.home"))
}

这将用左侧的变量替换右侧出现的任何文件路径。我不确定是否USER_HOME是 IDEA 中的内置变量。如果没有,您可能必须在 IDEA 中进行设置。(打开项目时应该会提示您。)

有关 Gradle 构建脚本 API 的详细信息,请查看Gradle 构建语言参考

于 2013-10-24T06:44:59.413 回答