Gradle и Maven действуют по-разному, когда отправляют ноль в качестве параметра varargs - PullRequest
0 голосов
/ 02 апреля 2019

У меня есть модульный тест, проверяющий мою функцию, которая получает переменные строки.

В функции я проверяю, является ли отправленный параметр пустым:

public static String generate(String... input) {
        if (input == null) {
            LOGGER.warn("Input is null for CheckSumGenerator");
            return null;
        }
     // Other not relevant code here
}

Модульный тест:

String checkSum2 = CheckSumGenerator.generate(null);
Assert.assertEquals(checkSum2, null);

При использовании Maven в качестве инструмента сборки - тестовый запуск в порядке.Прошло.При изменении проекта для запуска с Gradle предупреждение о печати сборки красным цветом:

предупреждение: не-varargs вызов метода varargs с неточным типом аргумента для последнего параметра

Вопрос в том, почему Gradle печатает его, а Maven - нет?

1 Ответ

1 голос
/ 02 апреля 2019

Плагин компилятора maven настроен на игнорирование предупреждений по умолчанию

https://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html#showWarnings

<showWarnings> Установите значение true, чтобы отображать предупреждения компиляции.

Type: boolean
Since: 2.0
Required: No
User Property: maven.compiler.showWarnings
**Default: false**

С другой стороны, Gradle отображает их по умолчанию. Вы можете отключить их .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...