Aus der Dokumentation des Gradle Maven-Publish-Plugins geht hervor, dass Sie das groupId
und version
des Projekts direkt in build.gradle
:
group = 'org.gradle.sample'
version = '1.0'
Das artifactId
scheint jedoch dem Namen des Ordners entnommen zu sein, in dem Sie arbeiten. Gibt es eine Möglichkeit, das artifactId
explizit festzulegen?
settings.gradle
(zrootProject.name = "something"
. B. ) tun .In Bezug auf die Stammdatei
settings.gradle
können Sie den Namen des Stammprojekts ändern mit:Wenn Sie jedoch den Namen eines Unterprojekts ändern möchten (z. B. das Standard-Unterprojekt "App" eines AndroidStudio-Projekts), können Sie Folgendes in der Stammdatei tun
settings.gradle
:quelle
Dies ist die richtige Antwort für das Maven-Publish- Plugin. Dies ist als Nachfolger für das ältere Maven- Plugin gedacht .
Wenn Sie wie ich mit dem älteren Plugin nicht weiterkommen, lautet die richtige Antwort auf "Wie setze ich die Maven-Artefakt-ID für ein Gradle-Projekt?"
quelle
Wenn Sie ein Projekt mit mehreren Modulen haben und möchten, dass sich die Namen der Artefakte vom Verzeichnis unterscheiden (das in settings.gradle festgelegt ist), ist es meiner Meinung nach besser, für jedes Unterprojekt einen JAR-Block zu haben. und dort können Sie den baseName schreiben, der die Artefakt-ID sein wird. Dann , anstatt neu zu schreiben die Veröffentlichung / Publikationen Block für jedes Teilprojekt, schreiben Sie es nur einmal im Haupt build.gradle auf diese Weise:
für jedes Teilprojekt build.gradle:
im Hauptgebäude.gradle:
quelle
Für das Erstellen von Android und das Veröffentlichen in Artifactory mit Jenkins habe ich die folgenden Einstellungen im build.gradle der App-Module zum Konfigurieren der Gruppen-ID, der Artefakt-ID und der Version konfiguriert.
quelle
Eine einfache Antwort darauf besteht darin,
jar.baseName
das festzulegen, das dann den Verzeichnisnamen überschreibt.Das scheint bei mir zu funktionieren.
quelle
In Gradle können Sie festlegen
jar.archiveName
, dass die Verwendung des Arbeitsordnernamens überschrieben wird ...quelle