[JAVA] So legen Sie verschiedene Quell- / Zielversionen für Produktionscode und Testcode fest

Einführung

In einem Gradle Java-Projekt entspricht der Produktionscode (Java-Code im Verzeichnis "src / main / java") der Java 7-Kompilierung (entspricht der Angabe der Option "-source 1.7 -target 1.7" mit dem Befehl "javac"). ), Aber ich möchte den Testcode (Java-Code unter src / test / java) kompilieren, der Java 8 entspricht! In einem solchen Fall wusste ich nicht, wie ich "sourceCompatibility" oder "targetCompatibility" in build.gradle angeben sollte, also habe ich versucht, dies zu überprüfen.

Ich musste keine unterschiedlichen Quell- / Zielversionen für Produktions- und Testcode angeben, aber JUnit 5 benötigt zur Laufzeit Java 8 Es scheint aktuell zu sein (Benutzerhandbuch / # Übersicht (Java-Versionen)), daher ist es notwendig, auf der Seite des Produktionscodes mit Java 7 zu kompilieren, aber ich möchte JUnit 5 für den Testcode verwenden! Ich denke, dass Sie in solchen Fällen auf diese Einstellung verweisen können.

So legen Sie sourceCompatibility / targetCompatibility fest

Wie im folgenden Beispiel für build.gradle gezeigt

Wenn ja, ist es OK.

apply plugin: 'java'

//⭐️ Quelle für Produktionscode/Zielkompatibilitätseinstellungen
sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7

//⭐️ Quelle, die nur für Testcode gilt/Zielkompatibilitätseinstellungen
compileTestJava {
    sourceCompatibility = JavaVersion.VERSION_1_8
    targetCompatibility = JavaVersion.VERSION_1_8
}

//Ich habe versucht, die sourceSets-Eigenschaft wie folgt zu verwenden, aber das hat nicht funktioniert
//sourceSets {
//    main {
//        sourceCompatibility = JavaVersion.VERSION_1_7
//        targetCompatibility = JavaVersion.VERSION_1_7
//    }
//    test {
//        sourceCompatibility = JavaVersion.VERSION_1_8
//        targetCompatibility = JavaVersion.VERSION_1_8
//    }
//}

repositories {
    mavenCentral()
}

dependencies {
    // ...
}

Recommended Posts

So legen Sie verschiedene Quell- / Zielversionen für Produktionscode und Testcode fest
So legen Sie den Zeichencode und den Zeilenvorschubcode in Eclipse fest
Umgang mit verschiedenen Versionen von rbenv und Ruby
Verwendung von \ t Escape-Sequenzen, die für Mac und Windows-Java unterschiedlich sind
[R Spec on Rails] So schreiben Sie Testcode für Anfänger von Anfängern
Ich habe getestet, wie man Rubys Test / Gerät und Janken's Code verwendet.
So richten Sie kapt ein und verwenden es
Benötigt für iOS 14? So legen Sie NSUserTrackingUsageDescription fest
Artikel und Bücher, die zum Studium von Testcode nützlich sind
[Java] So testen Sie, ob es in JUnit null ist
Überlegen Sie, wie Sie Ionic-Native, Hybrid und HTML5 für die Produktion mobiler Apps verwenden können
[Java] (für MacOS) Methode zur Einstellung des Klassenpfads
So richten Sie jEnv (Mac) ein und bedienen es
So schreiben Sie Testcode mit Basic-Zertifizierung
So richten Sie Computer Vision für die Verfolgung von Bildern und Videos mit TrackingJs ein
So stellen Sie Spring Boot Dependency Injection (DI) ein
So schreiben Sie einen Komponententest für Spring Boot 2
So führen Sie mit RxAndroid einen Komponententest mit JVM an einer Quelle durch
[RSpec] Testen von Fehlermeldungen, die unabhängig von Shoulda-Matchers festgelegt wurden
Testen des Einschlusses von Bildern bei Verwendung von ActiveStorage und Faker
So legen Sie mit JAXB Zeichencode und Zeilenvorschubcode fest
So kehren Sie die Kompilierung der Apk-Datei in Java-Quellcode mit MAC um
So verwenden Sie das Font Awesome-Symbol für ul und li
Festlegen und Beschreiben von Umgebungsvariablen mit Rails zsh
Verfahren zum Übergeben von RealmObject an Fragment und zur Verwendung von Parceler
So erstellen und starten Sie eine Docker-Datei für Payara Micro
[Integrationstestcode] So wählen Sie ein Element aus date_select aus
Wie man guten Code schreibt
So legen Sie Nginx von Docker fest
So legen Sie Java-Konstanten fest
[Rails] So erhalten Sie die URL der Übergangsquelle und leiten sie um
So legen Sie die IP-Adresse und den Hostnamen von CentOS8 fest
So legen Sie ein Profil mit annotationsbasierter Konfiguration im Spring-Framework fest und verwenden es