При запуске 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>
Другие вопросы по тегам