[JAVA] Vorsichtsmaßnahmen bei Verwendung von Checkstyle Version 6.6 oder höher

In Checkstyle Version 6.6 und höher Wenn im analysierten Quellcode eine Konventionsverletzung auf Fehlerebene festgestellt wird, wird diese an die Standardausgabe ausgegeben.

$ java -jar checkstyle-6.7-SNAPSHOT-all.jar -f xml -c /sun_checks.xml Test.java
<?xml version="1.0" encoding="UTF-8"?>
<checkstyle version="6.7-SNAPSHOT">
<file name="/home/rivanov/tmp/cs_tests/Test.java">
......
</file>
</checkstyle>
Checkstyle ends with 12 errors.

Spuckt nun in der letzten Zeile die Meldung "Checkstyle endet mit XXX-Fehlern" aus. https://github.com/checkstyle/checkstyle/issues/1018#issuecomment-99271206

Wenn das Analyseergebnis im XML-Format an die Standardausgabe ausgegeben und an ein anderes Tool übergeben wird, z. B. durch Verbinden mit einer Pipe, kann das Parsen der XML-Daten aufgrund dieser einen Zeile fehlschlagen.

Als Lösung geben Sie einmal wie folgt in eine Datei aus: Sie können es an das nächste Werkzeug weitergeben.

Before

java -jar checkstyle-6.7-SNAPSHOT-all.jar -f xml -c /sun_checks.xml \
| bundle exec saddler report \
    --require saddler/reporter/github \
    --reporter Saddler::Reporter::Github::CommitReviewComment

After

java -jar checkstyle-6.7-SNAPSHOT-all.jar -f xml -c /sun_checks.xml -o result.xml

bundle exec saddler report \
    --require saddler/reporter/github \
    --reporter Saddler::Reporter::Github::CommitReviewComment \
    < result.xml

Recommended Posts

Vorsichtsmaßnahmen bei Verwendung von Checkstyle Version 6.6 oder höher
Vergessen Sie nicht setCalendar oder setTimeZone, wenn Sie Java DateFormat verwenden
Vorsichtsmaßnahmen bei der Verwendung von Mockito.anyString als Argument beim Verspotten mit Mockito