Я новичок в Gradle и Artifactory, и я хочу загрузить файл JAR в Artifactory.
Вот мой build.gradle
файл:
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'maven'
apply plugin: 'artifactory-publish'
groupId = 'myGroup'
version = '1.0'
def artifactId = projectDir.name
def versionNumber = version
artifactory {
contextUrl = 'http://path.to.artifactory' // base artifactory url
publish {
repository {
repoKey = 'libs-releases' // Artifactory repository key to publish to
username = 'publisher' // publisher user name
password = '********' // publisher password
maven = true
}
}
}
artifactoryPublish {
dependsOn jar
}
После выполнения artifactoryPublish
задачи сборка будет успешной, как показано ниже:
> gradle artifactoryPublish --stacktrace
:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:jar
:artifactoryPublish
Deploying build info to: http://path.to.artifactory/api/build
BUILD SUCCESSFUL
Total time: 7.387 secs
Однако в Artifactory ничего не отправляется, кроме информации о сборке.
Любая помощь будет высоко ценится.
Редактировать:
Как упоминал JBaruch, я добавил
apply plugin: 'maven-publish'
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
}
}
}
и раздел по умолчанию для искусственной задачи
defaults {
publications ('mavenJava')
}
Теперь это работает.
благодаря
gradle
publish
artifactory
Tuncaysenturk
источник
источник
defaults
фактически идет внутрьartifactory.publish
, а не только в корневуюartifactory
задачу.Error:(x, 0) Could not find property 'java' on SoftwareComponentInternal set.
Не могли бы вы опубликовать полный сценарий?apply plugin: 'maven'
файл pom, и если у нас есть'apply plugin: 'maven-publish'
файл jar, он публикуется. И мне не нужно былоpublishing.publications.mavenJava(MavenPublication) { from components.java }
. Однако ты должен иметьdefault {publications ('mavenJava'); publishConfigs('archives', 'published') }
Ответы:
Это потому, что у вас их нет
publications
.artifactory-publish
Плагин работает сmaven-publish
плагином и загрузкиpublications
.Если вы предпочитаете работать со старым плагином maven , вам нужен
artifactory
плагин , а неartifactory-publish
.Взгляните на обзорную часть на странице «Работа с Gradle» официальной документации.
источник
maven-publish
в документации нет никаких упоминаний . Спасибо за помощь @JBaruch! jfrog.com/confluence/display/RTF/…maven-publish
. Я согласен с @Ryan, что это было бы полезно. Но спасибо за ответ здесьУ меня это работает. На самом деле я использовал уже созданную банку, поэтому я использую приведенный ниже код, чтобы указать мою банку, которая должна быть загружена:
источник
Вам нужны плагины:
для создания проекта и получения jar-файлов из артефакта:
Артифактические конфиги:
и для публикации:
gradle.properties
Так что все просто. Если вы хотите загрузить свою банку:
источник
Это то, что у меня сработало с командой
gradle clean build publish
источник