0
我使用自己的公司存储库,并从.m2/settings.xml中获取存储库凭据。 我一直做得很好,直到Android Studio和Gradle插件(AS 0.8.14,Gradle 0.13.2)的最新更新。既然我已经更新了他们,我得到下面的“摇篮工程同步”错误:Android - Gradle无法在空对象上获取属性“用户名”
Error;(57,0) Cannot get property 'username' on null object
的问题是在这里:
allprojects {
group 'com.tempos21.android.commons'
repositories { // repositories needed in project
mavenCentral() // maven central repository
maven{ // another repository. Our nexus
credentials {
def credentials = getCredentials("internal")
username = credentials["username"]
password = credentials["password"]
}
url "https://nexus1.tempos21.com/nexus/content/repositories/releases" // url of our nexus repository
}
}
}
我认为,“资格证书”的对象是空的下一行(在更新之前它不是空的)。该方法getCredentials是:
// get repository credentials from .m2/settings.xml
def getCredentials(server) {
def entries = getMavenSettingsCredentials()
for (entry in entries) {
if (entry."id".text() == server) {
return [username: entry.username.text(), password: entry.password.text()]
}
}
}
而且getMavenSettingsCredentials是:
// read .m2/settings.xml
def getMavenSettingsCredentials() {
String userHome = System.getProperty("user.home");
File mavenSettings = new File(userHome, ".m2/settings.xml")
def xmlSlurper = new XmlSlurper()
def output = xmlSlurper.parse(mavenSettings)
return output."servers"."server"
}
有谁知道,如果有已经在最近更新的任何变化,将导致此错误的gradle我的文件?