gradle编译报错:Error:(47, 0) No such property: sonatypeRepo for class: org.gradle.api.publication.maven.internal.ant.DefaultGroovyMavenDeployer。或报No such property: sonatypeUsername for class: org.gradle.api.publication.maven.internal.deployer.DefaultGroovyMavenDeployer.
这种问题一般是出现在导入一些开源项目的时候。原因为该项目的原作者会把项目发布到maven中央仓库中,所以在gradle中添加了相关的maven发布任务,而发布任务需要配置username(找不到username也是同样的问题)或sonatypeRepo等属性的值,作者是不会把这些值上传的,所以导致找不到这些属性。你不是该项目的作者,自然不需要这些任务,最干净的方法是把这些任务及引用的maven, signing插件的声明删除即可。当然,你也可以在gradle.properties中添加上找不到的这些属性的值以通过编译。
比如我在gradle.properties中添加上:
#To fix compile error. 这里的三个变量名根据uploadArchives中所引用的变量名不同,具体看情况而配置。
sonatypeRepo=null
sonatypeUsername=null
sonatypePassword=null
gradle编译报错:Error:No suchproperty: GROUPfor class: org.gradle.api.publication.maven.internal.ant.DefaultGroovyMavenDeployer
在gradle中注释掉这一行,重新编译就好了(与maven有关的)
apply from: 'https://raw.github.com/twotoasters/gradle-mvn-push/master/gradle-mvn-push.gradle'
gradle编译报错Error:(2, 0) No service of type Factory available in ProjectScopeServices.
在项目gradle文件中,改变maven插件版本;
dependencies {
classpath 'com.android.tools.build:gradle:2.2.2'
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1'
}
使用Android studio打包应用程序出现如下错误:
注: 某些输入文件使用或覆盖了已过时的 API。
注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
注: 某些输入文件使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
allprojects {
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
}
}
}
将上面的代码加入项目gradle文件里,再次编译,就会得到详细的错误日志;