Подтвердить что ты не робот

Как скомпилировать проект Maven с Xlint

Есть ли способ передать аргументы компилятора с командной строкой в Maven? Я знаю, что могу указать это в compiler-plugin но я тоже хотел бы запустить Xlint из командной строки. Поэтому я попробовал что-то вроде

mvn clean install -DskipTests=true -DcompilerArgument=-Xlint:deprecation

но без успеха.

4b9b3361

Ответ 1

Вы можете определить плагин компилятора следующим образом:

<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
        <compilerArgument>${compilerArgument}</compilerArgument>
    </configuration>
</plugin>

Затем передайте параметр из командной строки:

mvn -DcompilerArgument=-Xlint:deprecation compile

Если вы не пройдете -DcompilerArgument, он не сломает сборку, потому что "compilerArgument" в аргументе плагина компилятора будет пустым и проигнорирован.

Ответ 2

Для этого конкретного случая (предупреждения об отказе) фактически существует свойство, которое может использоваться из командной строки:

mvn clean install -Dmaven.compiler.showDeprecation=true

В отличие от решения compilerArgument, это также работает при использовании компилятора внутри процесса maven, причем не только при использовании fork = true.

Подобным же полезным свойством является maven.compiler.showWarnings.