只解析java源文件?
还是有其他解决方案?
答案 0 :(得分:2)
发现paranamer项目可以解决这个问题。
用例:
Method method = Foo.class.getMethod(...); Paranamer paranamer = new CachingParanamer(); String[] parameterNames = paranamer.lookupParameterNames(method)
答案 1 :(得分:1)
解析javadocs可能是最好的选择,假设你有这些。
如果你不这样做,那就是java源代码。如果你没有java源代码或javadocs,那就太幸运了。
答案 2 :(得分:1)
我不确定我是否理解你的问题...如果你的问题更长,并且会告诉你你想做什么,会更容易给出答案。
编译的类文件可能包含参数名称,但通常它们不包含参数名称,对于它们从不执行的接口。有关它的更多信息,请参阅我的问题Preserving parameter/argument names in compiled java classes和众多的激光器。
答案 3 :(得分:1)
我相信您可以从javac
(JDK5中的apt
)中的注释解析器获取信息。
如果您只有类文件,那么他们需要包含调试信息以包含参数名称。然后我想你可以用ObjectWeb的ASM解析类文件。