我有一个Java项目的Gradle构建脚本。我已经设置了一个内部Artifactory存储库作为项目依赖项的远程。
当项目在编译时,我要Gradle首先去Artifactory并请求;如果它在那里失败,它接下来应该尝试JCenter作为备份。
artifactory {
contextUrl = "${artifactoryContextUrl}"
publish {
repository {
repoKey = 'Release'
username = "${artifactoryUser}"
password = "${artifactoryPassword}"
maven = true
}
}
resolve {
repository {
repoKey = 'repo'
username = "${artifactoryUser}"
password = "${artifactoryPassword}"
maven = true
}
}
}
buildscript和项目都定义了它们的存储库:
buildscript {
repositories {
maven {
name 'Artifactory'
url "${artifactoryContextUrl}repo"
credentials {
username = "${artifactoryUser}"
password = "${artifactoryPassword}"
}
}
jcenter()
}
}
repositories {
maven {
name 'Artifactory'
url "${artifactoryContextUrl}repo"
credentials {
username = "${artifactoryUser}"
password = "${artifactoryPassword}"
}
}
jcenter()
}
我不得不求助于这些重复定义Artifactory repo的重复语句,因为我似乎找不到在构建脚本中定义和放置Artifactory
闭包的方法,以便Gradle在尝试JCenter之前引用这个定义的Resolution
repo。
该解决方案最好在buildscript
和repositories
闭包中处理这种重复的定义,但是在安装Gradle-Artifactory插件之前,我似乎不太可能引用artifactory
闭包中的属性。
ArtiFactory{}
配置和Repositories
配置。使用repositories
在buildscript
中指向您的Artifactory实例,然后在主体部分中指向Artifactory{}
DSL。jcenter
,Artifactory默认情况下代理它。您不需要用JCenter“备份”Artifactory,因为JCenter中存在的任何内容都可以从Artifactory中解析。您可能已经知道,JFrog宣布Bintray、JCenter、GoCenter和ChartCenter将于今年5月1日关闭。由于JCenter作为Android项目中的主要repo广泛用于各种依赖项,因此应该使用替代repo,我使用了mavenCentral因为它是最流行和被广泛接受的。 它按预期工作,但我只想从JCenter下载realm和其他缺少的东西,直到它完全迁移。然后看起来是这样的: 然
从Gradle1.7开始,有了新的公共存储库JCenter。 所以我想问一下Maven Central中的所有jar是否都是这个repo的一部分?如果不是由什么组成的JCenter回购?Maven Central的JCenter作为停机时间是否更可靠?
我已经将我的声明为我试图构建的Gradle项目的存储库: maven缓存已经包含工件,包括工件(pom和zip)。如果我在另一个Maven项目中添加了依赖关系,那么它将被正确加载: 现在,我以调试和脱机模式运行Gradle。我从MavenLocal获得了一些正确解析的工件,比如: 但是,其中一个工件似乎被放到了另一个存储库中,显然没有找到(因为它是离线的,我必须离线,因为“安全网络访问原因”[我们
我是新手。我想发布这个项目,这样Maven和SBT用户就可以随时使用它。我不是这个包的原作者;它似乎已被放弃;我只想公布现在的头像。 问题就在这里: 我正在寻找关于如何解决错误消息的建议,以及关于我可能遇到的任何设置问题的建议,包括将此项目纳入JCenter以便所有人都可以使用已发布的bintray项目。
上次我使用Android Studio时,它生成了文件使用buildscript存储库,而现在有。 有人能解释一下与此相关的问题吗?还有其他回购吗?我们应该什么时候换?它们对项目、模块、库有什么影响?Android开发者还有其他必需品吗? 谁负责维护这些回购协议?