我的应用程序使用反射来提取特定方法的参数名称。
我需要的名称就像它们写在我的代码中一样(而不是arg0,arg1 ...)。
为了实现这一点,我转到:Windows-> Preferences-> Java-> Compiler-并标记:“存储方法参数名称”。
(我将JDK1.8与Eclipse Kepler一起使用)
现在,当我做类似的事情时:
method.getParameters()[0].getName()
如果我使用Debug Configuration = Java application运行我的应用程序->可以正常运行!
但是,如果我使用Debug Configuration = M2 Maven Build->运行它,它将不起作用!它显示了合成名称(arg0,arg1 ...)
我需要它通过Maven Build起作用,任何想法吗?
尝试明确告诉编译器您希望保留方法参数名称:
<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>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句