Gradle can't find binary dependencies in Maven with no file extension


(Mike) #1

I have some binaries stored in Maven whose file names don’t have an extension, and I can’t figure out how to get docker to pull them in.

Example build.gradle:

repositories {
    maven {
        url "http://nexus.example.org"
    }
}

configurations {
    runtime
}

dependencies {
    runtime "org.example:artifact:1.0.0:classifier1@"
}

task downloadDeps(type: Copy) {
    from configurations.runtime
    into "$buildDir/bin"
}

And the output that I get is:

FAILURE: Build failed with an exception.

* What went wrong:
Could not resolve all files for configuration ':runtime'.
> Could not find artifact-classifier1 (org.example:artifact:1.0.0).
  Searched in the following locations:
      http://nexus.example.org/org/example/artifact/1.0.0/artifact-1.0.0-20170629.144139-5-classifier1.

Note the “.” at the end of the URL that Gradle looked for. The correct URL is exactly that but without the trailing dot. If I omit the “@” when specifying the dependency, it automatically assumes a “.jar” extension which doesn’t work either.

I’m not particularly familiar with Maven, so this might also be an issue in the way things are being stored there.

Thanks in advance.