[JAVA] CheckStyle-Unterstützung

Java Development Environment Memo Ich baue eine Entwicklungsumgebung mit, aber da CheckStyle viele Warnungen enthält, werde ich untersuchen und beschreiben, wie ich damit umgehen soll.

1.CheckStyle

1-1. Pom-Einstellung

pom.xml


			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-checkstyle-plugin</artifactId>
				<version>3.1.1</version>
				<dependencies>
					<dependency>
						<groupId>com.puppycrawl.tools</groupId>
						<artifactId>checkstyle</artifactId>
						<version>8.37</version>
					</dependency>
				</dependencies>
				<configuration>
					<configLocation>google_checks.xml</configLocation>
					<failsOnError>true</failsOnError>
					<failOnViolation>true</failOnViolation>
					<violationSeverity>error</violationSeverity>
					<consoleOutput>true</consoleOutput>
				</configuration>
				<executions>
					<execution>
						<id>checkstyle</id>
						<phase>verify</phase>
						<goals>
							<goal>check</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

1-2. Herunterladen der Einstellungsdatei

Von unten herunterladen?

https://github.com/checkstyle/checkstyle/blob/master/src/main/resources/google_checks.xml

In der Datei pom.xml stehen die folgenden Sites zur Auswahl. https://maven.apache.org/plugins/maven-checkstyle-plugin/examples/custom-checker-config.html

Was ist, wenn ich eine Fehlermeldung erhalte?

https://github.com/checkstyle/checkstyle/blob/master/src/main/resources/google_checks.xml

Möglicherweise besteht ein Unterschied zwischen der Regeldatei- und der Bibliotheksversion.

2-1. Die import-Anweisung ist nicht in lexikalischer Reihenfolge.

2-1-1. Ursache

Wenn sich das Paket Ihrer eigenen Klasse am Anfang des Alphabets befindet als org (jp usw.), werden Sie gewarnt.

1-2. Lösung durch Eclipse

  1. [Fenster] - [Einstellungen]
  2. [Java] - [Codestil] - [Import organisieren]
  3. Erstellen Sie Ihr eigenes Paket (jp) mit der Schaltfläche "Neu" und verschieben Sie es an den Anfang von org.

2.Paketname 'Muss mit Muster übereinstimmen' ^ [a-z] + (. [A-z] [a-z0-9] *) * $ '.

Ursache Der Paketname enthält ein Symbol wie "_".

2-1. Lösung von CheckStyle

Vor der Korrektur


    <module name="PackageName">
      <property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$"/>
      <message key="name.invalidPattern"
             value="Package name ''{0}'' must match pattern ''{1}''."/>
    </module>

Ändern Sie die obige Regel in INFO anstatt zu warnen. Sie können entweder Ignorieren, Info, Warnung oder Fehler angeben.

Überarbeitet


    <module name="PackageName">
      <property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$"/>
      <message key="name.invalidPattern"
             value="Package name ''{0}'' must match pattern ''{1}''."/>
             <property name="severity" value="info" />
    </module>

Referenz-URL

Teilen Sie Regeln wie CheckStyle mit mehreren Modulen https://ssogabe.hatenadiary.org/entry/20091219/1261196056

Ursache

Eclipse-Lösung

CheckStyle-Lösung

Recommended Posts

CheckStyle-Unterstützung
CheckStyle-Parameter
Unterstützung für SonarQube Java 11
Java-Support-Zeitraum
Supportzeitraum für Java8, 9, 10
Unterstützung für CheckStyle "Verwenden Sie keine Inline-Bedingungen"