Ich bin ein Neuling bei Gradle und Artifactory und möchte eine JAR-Datei zu Artifactory hochladen.
Hier ist meine build.gradle
Datei:
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
}
Nach dem Ausführen der artifactoryPublish
Aufgabe ist der Build wie folgt erfolgreich:
> 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
Es wird jedoch nichts außer den Build-Informationen an Artifactory gesendet.
Jede Hilfe wird sehr geschätzt.
Bearbeiten:
Wie JBaruch erwähnte, habe ich hinzugefügt
apply plugin: 'maven-publish'
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
}
}
}
und standardmäßig Abschnitt zu künstlicher Aufgabe
defaults {
publications ('mavenJava')
}
Jetzt funktioniert es.
Vielen Dank
gradle
publish
artifactory
tuncaysenturk
quelle
quelle
defaults
geht tatsächlich hineinartifactory.publish
, nicht nur in der Root-artifactory
Aufgabe.Error:(x, 0) Could not find property 'java' on SoftwareComponentInternal set.
Könnten Sie bitte das vollständige Skript posten?apply plugin: 'maven'
die POM-Datei generiert und wenn wir haben, wird'apply plugin: 'maven-publish'
die JAR-Datei veröffentlicht. Und das musste ich nicht habenpublishing.publications.mavenJava(MavenPublication) { from components.java }
. Allerdings muss man habendefault {publications ('mavenJava'); publishConfigs('archives', 'published') }
Antworten:
Das liegt daran, dass Sie keine haben
publications
. Dasartifactory-publish
Plugin funktioniert mitmaven-publish
Plugin und Uploadspublications
.Wenn Sie lieber mit dem alten Maven-Plugin arbeiten , benötigen Sie kein
artifactory
Pluginartifactory-publish
.Schauen Sie sich den Übersichtsteil auf der Seite "Arbeiten mit Gradle" der offiziellen Dokumente an.
quelle
maven-publish
in der Dokumentation keine Erwähnung gibt . Danke für die Hilfe @JBaruch! jfrog.com/confluence/display/RTF/…maven-publish
. Ich stimme @Ryan zu, dass es hilfreich wäre. Aber danke für die Antwort hierIch habe das zum Laufen gebracht. Ich habe tatsächlich ein bereits erstelltes Glas verwendet, daher verwende ich den folgenden Code, um mein Glas anzugeben, das hochgeladen werden soll:
quelle
Sie benötigen Plugins:
Projekt zu bauen und Gläser von Artifactory abzurufen:
Künstliche Konfigurationen:
und zur Veröffentlichung:
gradle.properties
Also ist alles einfach. Wenn Sie Ihr Glas hochladen möchten:
quelle
Das hat bei mir mit dem Befehl funktioniert
gradle clean build publish
quelle