[JAVA] Kopieren Sie abhängige Gläser in Gradle 5

Nach der Verwendung von Gradle 5 funktionierte es nicht mehr

Ich schätzte die Klarinette, die ich von meinem Vater bekommen hatte. Do, Re, Mi, Fa, So, La und Shi sind nicht da. Okay, ruhiger Junge. ** Das ist was du hältst. ** ** **

Übrigens ist gebrochen, ohne etwas zu tun eine häufige Geschichte, und obwohl sie normalerweise etwas bewirkt, ist das häufigste Muster beiseite. ** "Ich habe gerade XX gemacht, aber es ist kaputt gegangen" **.

In meinem Fall habe ich diesmal Gradle auf 5 gesetzt und build.gradle neu geschrieben, sodass es schwierig zu sein scheint, darauf zu bestehen, dass ich nichts getan habe.

Wo ist es hängen geblieben? Dies ist eine Kopieraufgabe für ein extern abhängiges Glas.

Ursprünglicher Quellcode

build.gradle


task copyDependencies(type:Copy) {
    new File('libs').mkdirs()
    copy {
        from configurations.runtime
        into 'libs'
    }
}

Es ist eine Aufgabe, das abhängige JAR normal in den libs-Ordner zu kopieren. Dies hörte plötzlich auf, irgendwelche Gläser auszuspucken.

Was hast du bearbeitet?

Das "Kompilieren" der "Abhängigkeiten" war veraltet, daher habe ich es durch das "Implementieren" ersetzt. Ersetzen Sie alle Dateien durch EmEditor. Ich bin männlich zu tun. Ich frage mich, ob Han ich bin, kein Mann.

build.gradle


dependencies {
	implementation project (':hoge')
	implementation project (':fuga')
	implementation project (':piyo')

	implementation(
		  'commons-io:commons-io:2.5'
		, 'org.apache.commons:commons-lang3:3.5'
		, 'ch.qos.logback:logback-core:1.2.3'
		, 'ch.qos.logback:logback-classic:1.2.3'

Nun, die Ursache ist natürlich, dass ich es in "Implementierung" umgeschrieben habe. Da sich der Ausbreitungsbereich der Abhängigkeit geändert hat, ist es natürlich zu sagen, dass es natürlich ist.

Und natürlich bin ich in Schwierigkeiten. Sie sind in Schwierigkeiten, wenn Sie es freigeben. Es hat lange gedauert, bis ich eine Lösung gefunden habe. Wenn ich sie also richtig in Qiita schreibe, kann ich möglicherweise die verschwendete Mühe eines Menschen reduzieren, was sehr schön wäre.

Gibt es zu viel schlechtes Schreiben? ** Nein, ich habe in Qiita geschrieben, ohne eine Pause zu machen. Sprechen Sie über sich selbst, nicht was Sie hassen, sondern was Sie mögen! (Unbekannt) **

Die Kopieraufgabe wurde neu geschrieben

Wenn Sie nach ** configuration.implementation ** suchen, finden Sie ** runtimeClasspath **.

build.gradle


task copyDependencies(type:Copy) {
    new File('libs').mkdirs()
    copy {
        from configurations.runtimeClasspath
        into 'libs'
    }
}

Es war nur diese Geschichte.

Recommended Posts

Kopieren Sie abhängige Gläser in Gradle 5
Puzzle-Notizen in Gradle
Spring Boot 2 Multiprojekt mit Gradle
Kontrollaufgaben von Gradle
Generieren Sie in Gradle 4.9 eine einzelne ausführbare JAR-Datei mit abhängigen Bibliotheken
Deep Copy Collection in Java
Beliebte Trends bei Gradle und Maven
Mach HelloWorld mit Java / IntelliJ / Gradle
Wie man Ant in Gradle ausführt
Erstellen Sie mit Gradle eine ausführbare JAR für mehrere Projekte
Durchsuchen Sie lokale Maven-Artefakte in Gradle
Implementieren Sie die Spring Boot-Anwendung in Gradle
Informationen zur Dateikopierverarbeitung in Java
Hallo Welt in Java und Gradle
(Memo) Holen Sie sich mit Hilfe von Gradle eine Reihe von abhängigen Bibliotheksgläsern