[JAVA] Eine kleine unruhige Geschichte mit Groovy

Der Erste

Neulich [hier](http://stackoverflow.com/questions/9577929/cleanest-way-in-gradle-to-get-the-path-to-a-jar-file-in-the-gradle-dependency- Ich habe ca) beobachtet. Ich brauchte eine Liste von JARs, um alle abhängigen JARs zu sammeln und sie automatisch zu einer JAR zu kombinieren. Dachte ich, nachdem ich mir den Code hier angesehen hatte.

prologue.groovy


project.configurations.compile*.each{...}

Wenn ja, frage ich mich, ob es möglich ist, den Pfad von JAR durch iterative Verarbeitung zu erhalten. Kopieren wir nun den folgenden Code und führen ihn in build.gradle des Moduls aus.

prologue2.groovy


project.configurations.compile*.each{
    println it
}

Denken Sie, Sie können die Liste der Pfade sehen?

Nein

Der Inhalt der JAR-Datei (als ob alle JARs "cat" wären) wird in die Standardausgabe ausgegeben. Die Konsole (Terminal) war sehr rau und es war schwer.

Lösung und Schlussfolgerung

Also was soll ich tun?

correct.groovy


project.configurations.compile*.toURI().each {
    File file=new File(it)
    println file//Ersetzen Sie es durch einen Prozess, der ein Dateiobjekt verwendet.
}

Es ist so. Machen Sie es "URI" und dann zurück zu "Datei". Dadurch wird sichergestellt, dass "Datei" iterativ verarbeitet werden kann. Warum haben Sie den Inhalt der JAR-Datei in die Standardausgabe ausgegeben? Dies ist nur eine Vermutung,

  1. Kommt mit einer "Liste" (vielleicht), die ein "Datei" -Objekt enthält
  2. Lesen Sie die ** alle Zeilen ** dieser Datei (File.readLines ()) und machen Sie daraus eine ArrayList.
    Ich habe es oben nicht geschrieben, aber ich denke, es war so ein Ergebnis.
  3. Erweitern Sie die ArrayList, in der alle Zeilen und jeweils gespeichert sind. Wenn das alles "println" ist, wird es rau sein ...

Recommended Posts

Eine kleine unruhige Geschichte mit Groovy
Eine kleine Geschichte mit regulären Ausdrücken Teil 1
Eine kleine süchtig machende Geschichte mit def initialize
Eine Geschichte über das JDK in der Java 11-Ära
Eine Geschichte über eine BeanNotOfRequiredTypeException, die nach der Anwendung von AOP im Frühjahr aufgetreten ist
Multiplikation innerhalb eines Ruby-Arrays
Suchen Sie eine Teilmenge in Java
Eine Geschichte, die bei NotSerializableException steckt
Eine lustige Geschichte, die beim Import von fx-clj in einem Chaos steckt
Die Geschichte, dass Tomcat in Eclipse unter einem Timeout-Fehler litt
Eine kleine süchtig machende Geschichte nach dem Update des JDBC-Treibers für PostgreSQL