При запуске Eclipse с M2 сборка Maven игнорирует определение "Имена параметров метода хранилища"
Мое приложение использует отражение для извлечения имен параметров для конкретного метода.
Мне нужны имена, как они написаны в моем коде (а не arg0, arg1...).
Чтобы добиться этого, я иду в: Windows -> Настройки -> Java -> Компилятор - и отмечаю: "Сохранить имена параметров метода".
(Я использую JDK1.8 с Eclipse Kepler)
Теперь, когда я делаю что-то вроде:
method.getParameters()[0].getName()
Если я запускаю свое приложение с Debug Configuration = Java application -> оно работает нормально!
НО, если я запускаю его с Debug Configuration = M2 Maven Build -> он не работает! он показывает синтезируемые имена (arg0, arg1...)
Мне нужно, чтобы он работал через Maven Build, Есть идеи?
1 ответ
Решение
Попробуйте явно сообщить компилятору, что вы хотите, чтобы имена параметров метода были сохранены:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<compilerArgument>-g:vars</compilerArgument>
<testCompilerArgument>-g:vars</testCompilerArgument>
</configuration>
</plugin>