Search code examples
httpsgradlemaven-central

Gradle Could not HEAD https://..pom > peer not authenticated


When you upgrade from gradle 2.0 to 2.1, you may see following error.

Could not HEAD 'https://jcenter.bintray.com/de/undercouch/gradle-download-task/1.0/gradle-download-task-1.0.pom'.
         > peer not authenticated

To be fair, this error is not due to gradle. It is problem of how java handles ssl connections.

I am using following java version.

java -version
java version "1.7.0_40"
Java(TM) SE Runtime Environment (build 1.7.0_40-b43)
Java HotSpot(TM) 64-Bit Server VM (build 24.0-b56, mixed mode)

You can use following answer to import security certificate your java installation.

I do not care about https downloads, http is enough for me. So see my answer.


Solution

  • Change your repository syntax to one of the following

    repositories {
        jcenter {
            url "http://jcenter.bintray.com/"
        }
    }
    
    
    repositories {
        maven  {
            url "http://repo1.maven.org/maven2"
        }
    }
    

    Current (2.1) gradle docs claims that

    Warning: Be aware that the central Maven 2 repository is HTTP only 
    and HTTPS is not supported. If you need a public HTTPS enabled 
    central repository, you can use the JCenter public repository 
    (see Section 51.6.3, “Maven JCenter repository”).
    

    I think maven central went for https. If I use following syntax.

    repositories {
        mavenCentral()
    }
    

    I get following error.

    D:\tools\gradle-2.1-bin\bin\gradle.bat -q

    FAILURE: Build failed with an exception.