热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

无法为项目获取未知属性'repositoryUrl'

如何解决《无法为项目获取未知属性'repositoryUrl'》经验,为你挑选了1个好方法。

我有一个使用React-Native的项目.我正在从源代码构建RN模块,因此我的项目将ReactAndroid模块作为依赖项.

我试图将项目升级到Android gradle构建工具> = 2.3.2,所以我可以使用intant-run:

buildscript {
    repositories {
        jcenter()
        mavenLocal()
        maven { url 'https://maven.fabric.io/public' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.2'
        ...
    }
}

这一变化迫使我将gradle本身从3.1升级到3.5(最新稳定).

构建项目会突然产生以下gradle错误

无法为org.gradle.api.Project类型的项目':ReactAndroid'获取未知属性'repositoryUrl'.

有人可以帮忙吗?



1> Vaiden..:

好吧,结果很有趣.

原因

错误指向React-Native模块的这一行release.gradle:

def getRepositoryUrl() {
    return hasProperty('repositoryUrl')  ? property('repositoryUrl') : 'https://oss.sonatype.org/service/local/staging/deploy/maven2/'
}

奇怪的是,问题在于hasProperty('repositoryUrl')返回true,同时property('repositoryUrl')导致错误.

在gradle 3.1上,hasProperty('repositoryUrl')返回false.

显然在gradle 3.5中,在物业确实缺失但仍有吸气剂的情况下hasProperty()返回true.在我们的例子中,吸气剂是

def getRepositoryUrl() {...}

这里含糊不清地解释了这一点.

然而,还有另一种检查属性的方法,它忽略了名为findProperty的 getter .

修复

所以解决方法是更改​​以下块release.gradle:

def getRepositoryUrl() {
    return hasProperty('repositoryUrl') ? property('repositoryUrl') : 'https://oss.sonatype.org/service/local/staging/deploy/maven2/'
}

def getRepositoryUsername() {
    return hasProperty('repositoryUsername') ? property('repositoryUsername') : ''
}

def getRepositoryPassword() {
    return hasProperty('repositoryPassword') ? property('repositoryPassword') : ''
}

对此:

def getRepositoryUrl() {
    return findProperty('repositoryUrl') != null ? property('repositoryUrl') : 'https://oss.sonatype.org/service/local/staging/deploy/maven2/'
}

def getRepositoryUsername() {
    return findProperty('repositoryUsername') !=null ? property('repositoryUsername') : ''
}

def getRepositoryPassword() {
    return findProperty('repositoryPassword') != null ? property('repositoryPassword') : ''
}

在这里从源代码构建RN模块时遇到了更多的麻烦.


推荐阅读
author-avatar
张鹏22_981
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有