Gradle在本地Maven存储库中找不到现有的依赖项

问题描述 投票:0回答:1

我需要生成一个项目的存档,然后可以在没有Internet访问权限的计算机上完全脱机构建该项目的存档。这意味着本地gradle distributionUrl和本地依赖项。

我正在使用出色的gradle-offline-dependencies插件将所有所需的buildscript / Android项目依赖项从在线存储库转储到本地文件夹。运行gradle任务后,我可以找到一个看似正确的本地Maven存储库:

ls <offline-repository>/com/android/support/appcompat-v7/26.0.0
appcompat-v7-26.0.0.aar  appcompat-v7-26.0.0.pom  appcompat-v7-26.0.0-sources.jar

它似乎包含所有必需的依赖项,始终遵循正确的命名约定:<offline-repository>/<group-id-with-slashes>/<artifact-id>/<version>/<artifact-id>-<version>.<extension>

我像这样在根build.gradle中引用此本地存储库:

allprojects {
    if (gradle.startParameter.isOffline()) {
        repositories {
            maven { url offlineRepositoryRoot }
        }
    } else {
        // ...
    }
}

offlineRepositoryRoot的值由前面提到的插件管理,并且是正确的(用println选中)。但是,当我运行脚本时,我遇到了一些类似这样的错误:

$ ./gradlew --offline assembleDebug
   (...)
> Could not resolve all files for configuration ':app:assembleDebug'.
   > Could not find com.squareup.okhttp3:okhttp-ws:3.4.1.
     Required by:
         project :app
   (...)

如果我签入脱机存储库:

ls offline-repository/com/squareup/okhttp3/okhttp-ws/3.4.1
okhttp-ws-3.4.1.jar  okhttp-ws-3.4.1-javadoc.jar  okhttp-ws-3.4.1.pom  okhttp-ws-3.4.1-sources.jar

我做错了什么?预先感谢。

gradle android-gradle-plugin
1个回答
0
投票

删除“ out”和“ build”文件夹,然后刷新“ gradle”。

© www.soinside.com 2019 - 2024. All rights reserved.