Gradle: Разрешение зависимости, в которой имя артефакта отличается от имени модуля

#gradle #dependencies

Вопрос:

Я пытаюсь устранить зависимость с помощью Gradle, которая была опубликована в нашем репозитории Artifactory с помощью Ivy. Однако имя файла jar отличается от имени модуля. Это легко сделать в Ivy, и у него нет проблем с устранением этой зависимости, но Gradle хочет, чтобы имя jar было в формате «modulename-version.jar». По крайней мере, это то, на что указывает ошибка, которую он не может найти.

Я думал, что наверняка должен быть простой способ обойти это, но после долгих поисков я его не нашел. Есть ли какой-то способ указать Gradle на правильное имя jar, если оно не совпадает с именем модуля?

Я попробовал это:

 compileOnly ('com.mygroup:mymodule:1.0.3') {        
       artifact {
            name = 'myjar'
            type = 'jar'
            extension = 'jar'
       }        
   }
 

Но при компиляции все равно возникает эта ошибка:

Не удалось найти com.mygroup:mymodule:1.0.3.

Обратите внимание, что имя файла pom совпадает с именем файла jar, поэтому оно также отличается от имени модуля. Но при необходимости я явно добавлю все зависимости в pom в файл Gradle.