it-swarm.com.ru

Как избавиться от сообщения Checkstyle "Файл не заканчивается переводом строки".

Я работаю с проектом Maven (jar) в Netbeans (Windows), который создает отчеты Checkstyle с помощью плагина Maven Checkstyle.

Независимо от того, что я делаю, я всегда получаю сообщение: File does not end with a newline для файлов классов Java.

Что я могу сделать/настроить в Netbeans или Checkstyle, чтобы избавиться от сообщения?

Версии используемого программного обеспечения:

  • WinXP SP3
  • NetBeans 6,7 RC1 (тоже с 6,5)
  • Maven 2.0.9
  • Maven Checkstyle Плагин 2.2
  • Java 1.6 (обновление 14)
26
Michael Pralow

Поместите новую строку в конец файла
или же
Настроить CheckStyle пофиг.

<module name="Checker">
    <!-- stuff deleted -->
    <module name="NewlineAtEndOfFile">
        <property name="severity" value="ignore" />
    </module>

Вы также должны указать плагину Maven Checkstyle использовать ваш конфигурационный файл checkstyle.

<plugin>
    <artifactId>maven-checkstyle-plugin</artifactId>
    <configuration>
        <configLocation>${basedir}/yourCheckstyle.xml</configLocation>
    </configuration>
</plugin>
10
Jon Strayer

В моем случае это была проблема с неправильной настройкой этой проверки. По умолчанию используется системное соглашение об окончаниях строк. Я работал над окнами, и в проекте использовались окончания строк в стиле Unix. Я не думаю, что игнорирование предупреждения - лучшая стратегия, поэтому я сделал следующее:

<module name="Checker">
    <module name="NewlineAtEndOfFile">
        <property name="lineSeparator" value="lf" />
    </module>
</module>
49
Alexey Voinov

Я сталкиваюсь с этой проблемой, когда файлы сохраняются в формате UNIX вместо DOS. (или наоборот, если вы работаете в Unix)

Чтобы исправить это, я использую программу, конвертирующую из формата UNIX в DOS и сохраняющую файл в этом формате.

В Eclipse: Файл -> Преобразовать разделители строк в -> Windows

6
Ben

Есть более простой способ сделать это. Вы можете указать файл подавлений без переопределения файла конфигурации Sun checkstyle:

<plugin>
    <groupId>org.Apache.maven.plugins</groupId>
    <artifactId>maven-checkstyle-plugin</artifactId>
    <configuration>
        <suppressionsLocation>suppressions.xml</suppressionsLocation>
        <configLocation>config/Sun_checks.xml</configLocation>
    </configuration>
</plugin>

Где ваш файл suppressions.xml:

<?xml version="1.0"?>
<!DOCTYPE suppressions PUBLIC
    "-//Puppy Crawl//DTD Suppressions 1.1//EN"
    "http://www.puppycrawl.com/dtds/suppressions_1_1.dtd">

<suppressions>
    <suppress checks="NewlineAtEndOfFile" files=".Java" />
</suppressions>
4
Stuart Jones

Eclipse ..Window >> Preferences >> Checkstyle >> Select the configuration file >> 

  1. Нажмите кнопку "Properties" >> Снимите флажок Protect Checkstyle Configuration file.
  2. Нажмите кнопку "Configure" >> найдите "New Line At End Of File" >> Снимите флажок, который вы видите рядом с New Line At End Of File
0
Raghu