[JAVA] Wie man Ant in Gradle ausführt

Möglicherweise möchten Sie das Ziel von Ants build.xml in Gradle ausführen, z. B. wenn Sie bereits Ant-Assets in einem Projekt haben, das Java verwendet.

Ich habe herausgefunden, wie das geht, also werde ich es mit einer Notiz formulieren.

Importiere build.xml

Verwenden Sie zum Importieren die Methode ant.importBuild ().

▼ Bereiten Sie ein Ziel für das Echo in build.xml vor

build.xml


<?xml version="1.0" encoding="utf-8" ?>

<project name="antsample" default="target01">
    <target name="target01">
        <echo message="message01" />
    </target>
</project>

▼ Importieren, damit build.xml auf der build.gradle-Seite verwendet werden kann

build.gradle


ant.importBuild 'build.xml'

▼ Das in build.xml definierte Ziel kann verwendet werden.

$ gradle tasks --all
~ Abkürzung ~
Other tasks
-----------
prepareKotlinBuildScriptModel
target01

$ gradle target01
> Task :target01
[ant:echo] message01

BUILD SUCCESSFUL in 846ms
1 actionable task: 1 executed

Wenn der Zielname von Ant und der Aufgabenname von Gradle dupliziert werden

Beachten Sie, dass ein Fehler auftritt, wenn der in Gradle angegebene Aufgabenname mit dem Ziel in build.xml dupliziert wird. Daher scheint es gut zu sein, das Ziel von ant mit ant. [Zielname] ausführen zu können, wie unten gezeigt.

build.gradle


ant.importBuild('build.xml') {
    antTaskName -> "ant.${antTaskName}".toString()
}
$ gradle tasks --all
~ Abkürzung ~
Other tasks
-----------
ant.build
prepareKotlinBuildScriptModel

Methode zur Einstellung von Eigenschaften

Sie können ein Argument mit -D angeben, wenn Sie Ant ausführen, aber Sie können dasselbe mit Gradle tun.

▼ Definieren Sie die Eigenschaft auf der Seite build.xml

build.xml


<?xml version="1.0" encoding="utf-8" ?>

<project name="antsample" default="target01">
    <property name="message" value="default message"/>
    <target name="target01">
        <echo message="${message}" />
    </target>
</project>

▼ Die Gradle-Seite muss nur build.xml importieren

build.gradle


ant.importBuild 'build.xml'

▼ Ich konnte eine Nachricht und ein Echo angeben

$ gradle target01 -Dmessage='message param'
> Task :target01
[ant:echo] message param

BUILD SUCCESSFUL in 726ms
1 actionable task: 1 executed

Zusammenfassung

Ich musste Ant mit den Argumenten nur von Gradle abbringen, aber ich hatte große Probleme. Zuerst habe ich ant.properties auf der gradle.build-Seite verwendet, um Argumente zu übergeben, aber ich konnte das Ziel direkt von der Befehlszeile mit "-D" ausführen, ohne es zu verwenden, so dass es ziemlich erfrischend war.

Gradle und Groovy sind interessant zu berühren, also werde ich posten, wenn ich wieder gelernt habe.

Referenz

Gradle User Guide Gradle (build.gradle) Einführung in das Lesen und Schreiben

Danke für Ihre Kooperation.

Recommended Posts

Wie man Ant in Gradle ausführt
So führen Sie eine djUnit-Aufgabe in Ant aus
So führen Sie JUnit in Eclipse aus
So filtern Sie den JUnit-Test in Gradle
Wie benutzt man Gradle?
Wie man Lombok im Frühling benutzt
So finden Sie May'n in XPath
So blenden Sie die Bildlaufleiste in WebView aus
Wie man in Ruby auf unbestimmte Zeit iteriert
Wie man die Programmierung in 3 Monaten beherrscht
So führen Sie JavaFX unter Docker aus
Wie man JAVA in 7 Tagen lernt
So erhalten Sie Parameter in Spark
So installieren Sie Bootstrap in Ruby
Verwendung von InjectorHolder in OpenAM
Dynamisches Wechseln von JDKs beim Erstellen von Java mit Gradle
So installieren Sie jQuery in Rails 6
Wie verwende ich Klassen in Java?
So benennen Sie Variablen in Java
So setzen Sie Lombok in Eclipse
So verketten Sie Zeichenfolgen mit Java
So installieren Sie Swiper in Rails
So erstellen Sie ein neues Gradle + Java + Jar-Projekt in Intellij 2016.03
So implementieren Sie Suchfunktionen in Rails
So implementieren Sie die Datumsberechnung in Java
So implementieren Sie den Kalman-Filter mit Java
Mehrsprachige Unterstützung für Java Verwendung des Gebietsschemas
So ändern Sie den App-Namen in Rails
So kompilieren Sie Java mit VsCode & Ant
Verwendung des benannten Volumes in docker-compose.yml
So fügen Sie ein Video in Rails ein
So standardisieren Sie die Kopfzeile in Thymeleaf
Wie kann ich Spring Tool in Eclipse 4.6.3 einbinden?
So fügen Sie eine JAR-Datei in ScalaIDE hinzu
So führen Sie eine Basiskonvertierung in Java durch
Wie man Parameter in der link_to-Methode hat
Verwendung von Docker in VSCode DevContainer
Verwendung von MySQL im Rails-Tutorial
So beheben Sie das Systemdatum in JUnit
So erzwingen Sie Codierungskonventionen in Java
Einbetten von Janus Graph in Java
[Rails] So konfigurieren Sie das Routing in Ressourcen
Akzeptieren Sie System.in nicht im Gradle-Lauf
So erhalten Sie das Datum mit Java
So implementieren Sie Ranking-Funktionen in Rails
Verwendung von Umgebungsvariablen in RubyOnRails
So implementieren Sie die asynchrone Verarbeitung in Outsystems
So veröffentlichen Sie eine Bibliothek in jCenter
So geben Sie das ID-Attribut in JSF an
Verstehe in 5 Minuten !! Wie man Docker benutzt
So überschreiben Sie Firebase-Daten mit Swift
Verwendung von credentials.yml.enc aus Rails 5.2
So führen Sie Blazor (C #) mit Docker aus