【问题标题】:How to change gradle metadata location in java builds如何在 Java 构建中更改 gradle 元数据位置
【发布时间】:2017-03-27 10:50:01
【问题描述】:

我有一个 java 项目,我在其中使用 gradle 进行构建。

我已将 GRADLE_USER_HOME 设置为下载和管理所有工件的位置,这工作正常且酷。

在项目工作空间内有一个构建后生成的 .gradle 文件夹,该文件夹具有以下目录。
1. taskArtifacts --> 这有文件(fileHashes.bin,fileSnapshots.bin,taskArtifacts.bin 和 taskArtifacts.lock)

2. 任务

我知道这些 .gradle 文件夹存储了一些关于项目构建历史的元数据。是否可以将 .gradle 文件夹的位置移动到外部位置并从那里使用它???如果可以,我该怎么做?

【问题讨论】:

  • 是的,此文件夹存储特定于特定构建的元数据 - 例如任务缓存。通常将此文件夹添加到 SCM 忽略文件中。不确定它是否可以移到外面,而不是。如果是这样,每个构建都需要不同的位置。
  • 比如说,项目的构建每次都会安排在不同的机器上,并在构建完成后清理,所以我想把这个 .gradle 保存在一个集中的位置,以便新的构建可以利用元数据。虽然我可以将这些元数据保存在某个位置,但最好将它放在一个集中的位置。
  • 我尝试将元数据复制到外部位置并在构建时复制回新工作区,它没有选择旧的元数据。 --> :compileJava - 不是增量的(例如输出已经改变,之前没有执行,等等)。

标签: java gradle build.gradle javac


【解决方案1】:

我找到了方法,通过传递 --project-cache-dir 参数我们可以改变本地缓存的位置。

https://docs.gradle.org/current/userguide/gradle_command_line.html

【讨论】:

  • 来自文档:--project-cache-dir Specifies the project-specific cache directory. Default value is .gradle in the root project directory.
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-08-14
  • 2022-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多