使用M2 Maven构建运行Eclipse会忽略“存储方法参数名称”定义

我的应用程序使用reflection来提取特定方法的参数名称。

我需要像我们的代码中编写的名称(而不是arg0,arg1 ……)。

为了实现这一点,我转到:Windows – > Preferences – > Java – > Compiler – 并标记:“Store method parameter names”。

(我在Eclipse Kepler中使用JDK1.8)

现在,当我做类似的事情:

method.getParameters()[0].getName() 

如果我用Debug Configuration = Java应用程序运行我的应用程序 – >它运行正常!

但是 ,如果我使用Debug Configuration = M2 Maven Build运行它 – >它不起作用! 它显示了合成名称(arg0,arg1 ……)

我需要它通过Maven Build工作,任何想法?

尝试明确告诉编译器您希望保留方法参数名称:

  org.apache.maven.plugins maven-compiler-plugin 3.1  1.8 1.8 -g:vars -g:vars