Dies ist die richtige Antwort. 'gradle assemble' lässt auch viele andere Aufgaben aus. Sehen Sie sich dieses Diagramm an, um sich ein Bild zu machen. Für typische reale Builds lässt "Gradle Assemble" noch mehr Aufgaben aus.
Funktioniert, obwohl Sie möglicherweise z. B. -x integTestusw. hinzufügen müssen , also nicht so praktisch wie Mavens Decke -DskipTests.
Jesse Glick
1
@c_maker, Wie führe ich dies von Eclipse aus durch?
Rinuthomaz
Ist es möglich, die Klassendatei auszuführen? Ich meine, mit runkann ich die Wirkung meines Hello-Programms sehen. Aber ich denke, dass es alles wieder kompiliert. Ich möchte nur das Java-Programm ausführen.
Sigur
107
Versuchen:
gradle assemble
Versuchen Sie Folgendes, um alle verfügbaren Aufgaben für Ihr Projekt aufzulisten:
gradle tasks
AKTUALISIEREN:
Dies scheint zunächst nicht die richtigste Antwort zu sein, aber lesen Sie die gradle tasksAusgabe oder die Dokumente sorgfältig durch .
Build tasks
-----------
assemble - Assembles the outputs of this project.
build - Assembles and tests this project.
Als zusätzlicher Hinweis für den Fall, dass Sie Ihre Komponententests debuggen: gradle assembleKompilieren Sie die Hauptdateien nicht. Wenn Sie daran arbeiten, Ihren Unit-Test zu reparieren, müssen Sie gradle assemble testClasses- ich denke, dass die Benennung der Build-Task ziemlich verwirrend ist.
Martin
36
Die akzeptierte Antwort ist die richtige.
OTOH, die Art und Weise, wie ich dies zuvor gelöst habe, bestand darin, allen Projekten Folgendes hinzuzufügen:
Für mich ist dies immer noch die einzige funktionierende Option, da der -x-Test nur für das Startprojekt zu funktionieren scheint, nicht jedoch für Abhängigkeiten in einem Multi-Projekt-Build (getestet auf Gradle 2.1). Fügen Sie die Datei test.onlyif ... in einen configure (subprojects.findAll {javaProjects.contains (it.name)}) {} -Block in Ihrem root build.gradle ein und sie funktioniert für alle Projekte.
timm
Gut. Dieser Weg ist Maven-Benutzern vertraut.
AlexR
23
Sie können die folgenden Zeilen hinzufügen build.gradle, um **/*alle Tests auszuschließen.
Bitte senden Sie einen Screenshot der Seite. Ich weiß nicht, wo ich diese Codezeile setzen soll ...
Hossein Mansouri
Dieser Code sollte in Ihr build.gradle gehen :)
Suganthan Madhavan Pillai
2
Die verschiedenen Möglichkeiten zum Deaktivieren von Testaufgaben im Projekt sind:
tasks.withType(Test) {enabled = false}
Dieses Verhalten ist manchmal erforderlich, wenn Sie Tests in einem Projekt (oder einer Gruppe von Projekten) deaktivieren möchten.
Auf diese Weise können Sie für alle Arten von Testaufgaben arbeiten, nicht nur für Java-Tests. Auch dieser Weg ist sicher. Ich meine Folgendes: Sie haben eine Reihe von Projekten in verschiedenen Sprachen: Wenn wir versuchen, diese Art von Datensatz in main hinzuzufügen build.gradle:
@KirankumarDafda - nein. Sie können jederzeit eine Antwort veröffentlichen, auch wenn eine vorhandene Antwort akzeptiert wurde. Die neue Antwort ist möglicherweise besser als die akzeptierte Antwort oder löst sie auf andere Weise oder hilft anderen auf andere Weise. Aus der Überprüfung .
Wai Ha Lee
@WaiHaLee Ich kann meinen Kommentar nicht bearbeiten, aber als ich Vorschläge für neue Benutzer erhielt, wollte ich erklären, dass versucht wird, Antworten mit mehr Erläuterungen hinzuzufügen, damit andere Benutzer überprüfen können, warum diese Antwort oder dieser Code für sie hilfreich ist.
$ gradle tasks
Build tasks
-----------
assemble - Assembles the outputs of this project.
build - Assembles and tests this project.
testClasses - Assembles test classes.
Verification tasks
------------------
test - Runs the unit tests.
Gradle Build ohne Test Sie haben zwei Möglichkeiten:
-DskipTests
ist für MavenAntworten:
Sie sollten das
-x
Befehlszeilenargument verwenden, das jede Aufgabe ausschließt.Versuchen:
Aktualisieren:
Der Link in Peters Kommentar hat sich geändert. Hier ist das Diagramm aus dem Gradle-Benutzerhandbuch
quelle
-x integTest
usw. hinzufügen müssen , also nicht so praktisch wie Mavens Decke-DskipTests
.run
kann ich die Wirkung meines Hello-Programms sehen. Aber ich denke, dass es alles wieder kompiliert. Ich möchte nur das Java-Programm ausführen.Versuchen:
Versuchen Sie Folgendes, um alle verfügbaren Aufgaben für Ihr Projekt aufzulisten:
AKTUALISIEREN:
Dies scheint zunächst nicht die richtigste Antwort zu sein, aber lesen Sie die
gradle tasks
Ausgabe oder die Dokumente sorgfältig durch .quelle
gradle assemble
Kompilieren Sie die Hauptdateien nicht. Wenn Sie daran arbeiten, Ihren Unit-Test zu reparieren, müssen Siegradle assemble testClasses
- ich denke, dass die Benennung der Build-Task ziemlich verwirrend ist.Die akzeptierte Antwort ist die richtige.
OTOH, die Art und Weise, wie ich dies zuvor gelöst habe, bestand darin, allen Projekten Folgendes hinzuzufügen:
Führen Sie den Build mit aus,
-Dskip.tests=true
und alle Testaufgaben werden übersprungen.quelle
Sie können die folgenden Zeilen hinzufügen
build.gradle
, um**/*
alle Tests auszuschließen.quelle
Sie können Aufgaben ausschließen
https://docs.gradle.org/current/userguide/command_line_interface.html#sec:command_line_executing_tasks
quelle
Referenz
Verwenden Sie die
-x
Befehlszeilenoption, um eine Aufgabe von gradle auszuschließen . Siehe das folgende BeispielAusgabe von:
gradle -q dist -x runningTest
Hoffe das würde dir das Grundlegende geben
quelle
Die verschiedenen Möglichkeiten zum Deaktivieren von Testaufgaben im Projekt sind:
Dieses Verhalten ist manchmal erforderlich, wenn Sie Tests in einem Projekt (oder einer Gruppe von Projekten) deaktivieren möchten.
Auf diese Weise können Sie für alle Arten von Testaufgaben arbeiten, nicht nur für Java-Tests. Auch dieser Weg ist sicher. Ich meine Folgendes: Sie haben eine Reihe von Projekten in verschiedenen Sprachen: Wenn wir versuchen, diese Art von Datensatz in main hinzuzufügen
build.gradle
:Wir werden in einem Projekt scheitern, wenn wir keine Aufgabe namens Tests haben
quelle
Wenn Sie
-x test
die Testausführung überspringen, wird jedoch auch die Kompilierung des Testcodes ausgeschlossen.In unserem Fall haben wir einen CI / CD-Prozess, bei dem ein Ziel die Kompilierung und das nächste Ziel das Testen ist (Build -> Test).
Für unser erstes
Build
Ziel wollten wir also sicherstellen, dass das gesamte Projekt gut kompiliert wird. Dafür haben wir verwendet:Beim nächsten Ziel führen wir einfach Tests durch.
quelle
Wenn Ihre Maschine mehrere Kerne hat. Es wird jedoch nicht empfohlen, Parallel Clean zu verwenden.
quelle
Bitte versuchen Sie dies:
gradlew -DskipTests=true build
quelle
Im Java-Plugin :
Gradle Build ohne Test Sie haben zwei Möglichkeiten:
aber wenn Sie Test kompilieren wollen:
quelle