我有一台笔记本电脑,我使用包装器gradlew
运行Gradle项目。此项目的依赖项只能从我们组织的网络下载。
我的测试团队想要在组织网络之外测试项目,因此我无法下载依赖项。所以我将整个“.gradle”文件夹从我的机器的C:\\Users\\MyUserName
复制到另一个系统的C:\\Users\\Admin
。我跑了,gradlew --offline
。但是我收到一条错误,指出尚未找到缓存,尽管JARS存在于“.gradle”目录中。有什么我想念的吗?
答案 0 :(得分:2)
不应将gradle缓存文件夹复制到不同的目录,因为存储在其中的某些路径由绝对路径引用。您至少需要使用gradle用户主页C:// Users / Admin运行您的构建,以便稍后使用--offline
使其在离线系统上运行我将使用专用文件夹(如C:/gradle-cache
)并将GRADLE_USER_HOME
设置为指向该目录,或使用gradle中的-g
选项指定gradle缓存文件夹。
目前Gradle中存在一个错误,阻止Wrapper尊重-g
选项(https://github.com/gradle/gradle/issues/1895)。因此,当您似乎使用包装器时,您可能应该使用GRADLE_USER_HOME
环境变量。
然后在您的目标系统上,您将缓存再次复制到C:/gradle-cache
并设置GRADLE_USER_HOME
,您的离线版本应该可以正常运行。