我正在开发一个应该在没有互联网连接的机器上运行的gradle项目。
为此,我创建了一个任务,它接受gradle缓存并将其复制到另一个目录中,以用作本地存储库。
我已经在线模式下构建了项目,但它确实有效。
我已经运行了我的任务,将缓存复制到本地存储库,它工作正常。
但是,在尝试运行gradle build --offline
时,我会遇到这样的错误(对于几个不同的jar文件):
Could not download commons-math3.jar (org.apache.commons:commons-math3:3.4.1): No cached version available for offline mode
检查我的本地存储库和gradle缓存,我找不到相关的jar文件(在本例中为commons-math3-3.4.1.jar
)。
我尝试使用gradle build --refresh-dependencies
,我试图删除缓存,然后使用gradle build
- 没有,它不会下载jar文件,只下载pom文件。
我甚至尝试手动下载jar并将它们放在我本地存储库中的正确目录中。但
任何帮助都将不胜感激。
答案 0 :(得分:0)
我认为Gradle缓存不能像这样转移到另一台机器上。我正在尝试创建一个插件,可以将依赖项从配置复制到本地目录以供离线使用here但是我已经点击了this issue,其中无法访问父POM和BOM。 Gradle API。我有一个失败的测试here,证明了该插件的使用以及缺少父POM支持。
关于此问题的其中一个建议是尝试IvyPot plugin。我自己没有试过这个,但它可能适合你的尝试。
答案 1 :(得分:0)
您可能已启用代理,请在“gradle.properties”文件中添加代理详细信息,如下所示:
systemProp.http.proxyHost=your.proxy.com
systemProp.http.proxyPort=XXXX
systemProp.http.proxyUser=user
systemProp.http.proxyPassword=password