我在尝试创建自己的android库时遇到了问题。 该库具有位于远程maven存储库build.gradle:
中的依赖项repositories {
jcenter()
maven {
name "Some maven remote dependency"
url "https://remote.maven.url/"
}
}
compile 'remote.groudid:remote.artifactid:remote.version'
我使用maven-publish插件将我的库发布到本地maven存储库:
apply plugin: 'maven-publish'
publishing {
publications {
library(MavenPublication) {
setGroupId(groupId)
setArtifactId(artifactId)
setVersion(version)
artifact(bundleRelease)
pom.withXml {
def dependenciesNode = asNode().appendNode('dependencies')
configurations.compile.allDependencies.each {
if (it.group != null && (it.name != null || "unspecified".equals(it.name)) && it.version != null) {
def dependencyNode = dependenciesNode.appendNode('dependency')
dependencyNode.appendNode('groupId', it.group)
dependencyNode.appendNode('artifactId', it.name)
dependencyNode.appendNode('version', it.version)
}
}
}
}
}
}
当我尝试在应用程序中实现此库时,问题出现了。 Gradle尝试仅在存储库中查找所有依赖项,这些存储库在应用程序中指定,而不是在库中指定。应用程序build.gradle:
allprojects {
repositories {
mavenLocal()
jcenter()
google()
}
}
compile 'mylib.groupid:mylib.artifactid:mylib.version'
Gradle sync触发错误:错误:无法解析:remote.groudid:remote.artifactid:remote.version
问题可以通过直接添加"一些maven远程依赖"来解决。在应用程序build.gradle存储库中,但我想找到一种不在每个应用程序中手动执行的方法,这将使用此库。有没有办法以某种方式通过我的maven本地回购转移远程maven存储库?我尝试通过放置存储库标记
来修改库pom文件<repositories>
<repository>
<name>Some maven remote dependency</name>
<url>https://remote.maven.url/</url>
</repository>
</repositories>
,但那没有用。