Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何让gradle在本地maven repo中覆盖库?_Java_Android_Maven_Gradle_Repository - Fatal编程技术网

Java 如何让gradle在本地maven repo中覆盖库?

Java 如何让gradle在本地maven repo中覆盖库?,java,android,maven,gradle,repository,Java,Android,Maven,Gradle,Repository,我有三个android项目正在开发中——让我们称它们为Alpha、Bravo和Charlie。Bravo和Charlie都依赖于android库Alpha。当我创建Alpha时,我使用/gradlew install将其部署到本地maven存储库中,如果我在Bravo和Charlie的build.gradle文件中使用以下内容,则效果良好: dependencies { compile 'com.blah.alpha:alpha:1.1.0+@aar' } 不过,问题是这三个项目都

我有三个android项目正在开发中——让我们称它们为Alpha、Bravo和Charlie。Bravo和Charlie都依赖于android库Alpha。当我创建Alpha时,我使用
/gradlew install
将其部署到本地maven存储库中,如果我在Bravo和Charlie的
build.gradle
文件中使用以下内容,则效果良好:

dependencies {
      compile 'com.blah.alpha:alpha:1.1.0+@aar'
}
不过,问题是这三个项目都在开发中。因此,当我对Alpha进行更新并将其部署到本地Maven存储库时,Bravo和Charlie似乎看不到本地版本,除非我执行以下操作:

$ cd ~/.m2/repository/com/blah/alpha/
$ rm -rf 1.1.0
$ cd -
$ ./gradlew install

也就是说,在部署到本地Maven存储库之前,我需要手动检查并清理它。版本号没有改变,所以我想知道这是否是它没有获得库的最新版本的原因。

静态版本是它的一部分。您可以将您的版本更改为
1.1.0-SNAPSHOT
,Gradle认为这是一个“正在更改”的模块。但是,Gradle仍然默认每24小时重新下载一次工件。您可以重写此行为并指示Gradle根本不缓存更改的模块。更多信息可在中找到

如果您不愿意更改您的工件版本,您可以尝试使用

编辑:您可以告诉Gradle您的依赖关系是一个不断变化的依赖关系

compile('com.blah.alpha:alpha:1.1.0+@aar') {
    changing true
}
compile('com.blah.alpha:alpha:1.1.0+@aar') {
    changing true
}