Es werden nur bis zu 100 Javac-Warnungen ausgegeben.

Es wurde bestätigt, dass dieser Artikel in den folgenden Umgebungen funktioniert. Ich denke jedoch, dass der Inhalt für andere Versionen und andere Anbieter gültig ist (´ ・ ω ・ `)

C:\jdk>java -version
openjdk version "12" 2019-03-19
OpenJDK Runtime Environment (build 12+33)
OpenJDK 64-Bit Server VM (build 12+33, mixed mode, sharing)

C:\jdk>javac -version
javac 12

Zum Beispiel, wenn Sie den folgenden Code haben:

import java.util.List;

public class Sample {
    public static void main(String[] args) {
        List list001;
        List list002;
        List list003;
        List list004;
        List list005;

        //Weggelassen, weil es lang ist

        List list196;
        List list197;
        List list198;
        List list199;
        List list200;
    }
}

Da es kompliziert ist, werden einige Teile weggelassen, aber 200 Listen werden als Prototyp (Rohtyp) deklariert. Wenn ich also mit der Option -Xlint kompiliere, möchte ich, dass 200 Warnungen ausgegeben werden, aber in Wirklichkeit werden nur 100 ausgegeben.

C:\jdk>javac -Xlint Sample.java
Sample.java:5:Warnung:[rawtypes]Roher Typ gefunden: List
        List list001;
        ^
Generische Klassenliste<E>Kein Typargument für
Wenn E eine Typvariable ist:
E erweitert das in der Schnittstellenliste deklarierte Objekt
Sample.java:6:Warnung:[rawtypes]Roher Typ gefunden: List
        List list002;
        ^
Generische Klassenliste<E>Kein Typargument für
Wenn E eine Typvariable ist:
E erweitert das in der Schnittstellenliste deklarierte Objekt
Sample.java:7:Warnung:[rawtypes]Roher Typ gefunden: List
        List list003;
        ^
Generische Klassenliste<E>Kein Typargument für
Wenn E eine Typvariable ist:
E erweitert das in der Schnittstellenliste deklarierte Objekt

(Weggelassen, weil es wie immer lang ist)

Sample.java:102:Warnung:[rawtypes]Roher Typ gefunden: List
        List list098;
        ^
Generische Klassenliste<E>Kein Typargument für
Wenn E eine Typvariable ist:
E erweitert das in der Schnittstellenliste deklarierte Objekt
Sample.java:103:Warnung:[rawtypes]Roher Typ gefunden: List
        List list099;
        ^
Generische Klassenliste<E>Kein Typargument für
Wenn E eine Typvariable ist:
E erweitert das in der Schnittstellenliste deklarierte Objekt
Sample.java:104:Warnung:[rawtypes]Roher Typ gefunden: List
        List list100;
        ^
Generische Klassenliste<E>Kein Typargument für
Wenn E eine Typvariable ist:
E erweitert das in der Schnittstellenliste deklarierte Objekt
100 Warnungen

Die maximale Anzahl von Warnungen zur Kompilierungszeit kann mit der Option "-Xmaxwarns" festgelegt werden. Dieser Wert scheint standardmäßig 100 zu sein, daher wurden im obigen Beispiel nur 100 Warnungen ausgegeben. Wenn Sie also 200 Warnungen ausgeben möchten oder wenn Sie unbegrenzt viele Warnungen ausgeben möchten, können Sie in der Option "-Xmaxwarns" einen großen Wert festlegen.


C:\jdk>javac -Xlint -Xmaxwarns 999999 Sample.java
Sample.java:5:Warnung:[rawtypes]Roher Typ gefunden: List
        List list001;
        ^
Generische Klassenliste<E>Kein Typargument für
Wenn E eine Typvariable ist:
E erweitert das in der Schnittstellenliste deklarierte Objekt
Sample.java:6:Warnung:[rawtypes]Roher Typ gefunden: List
        List list002;
        ^
Generische Klassenliste<E>Kein Typargument für
Wenn E eine Typvariable ist:
E erweitert das in der Schnittstellenliste deklarierte Objekt
Sample.java:7:Warnung:[rawtypes]Roher Typ gefunden: List
        List list003;
        ^
Generische Klassenliste<E>Kein Typargument für
Wenn E eine Typvariable ist:
E erweitert das in der Schnittstellenliste deklarierte Objekt

(Weggelassen, weil es lang ist)

Sample.java:202:Warnung:[rawtypes]Roher Typ gefunden: List
        List list198;
        ^
Generische Klassenliste<E>Kein Typargument für
Wenn E eine Typvariable ist:
E erweitert das in der Schnittstellenliste deklarierte Objekt
Sample.java:203:Warnung:[rawtypes]Roher Typ gefunden: List
        List list199;
        ^
Generische Klassenliste<E>Kein Typargument für
Wenn E eine Typvariable ist:
E erweitert das in der Schnittstellenliste deklarierte Objekt
Sample.java:204:Warnung:[rawtypes]Roher Typ gefunden: List
        List list200;
        ^
Generische Klassenliste<E>Kein Typargument für
Wenn E eine Typvariable ist:
E erweitert das in der Schnittstellenliste deklarierte Objekt
200 Warnungen

--Bonus 1: Mit -Xmaxerrs können nicht nur Warnungen, sondern auch der Maximalwert von Kompilierungsfehlern angegeben werden.

Recommended Posts

Es werden nur bis zu 100 Javac-Warnungen ausgegeben.
Einführung in den Befehl javac
Legen Sie ein Wasserzeichen fest, das nur beim Drucken mit iText ausgegeben werden soll