【问题标题】:Is there anyway to tell compiler to keep variable names around via annotations?无论如何告诉编译器通过注释保留变量名?
【发布时间】:2016-06-11 17:04:57
【问题描述】:

让整个应用程序为每个变量名添加一个带有变量名的@Param() 注释是非常烦人的。当您更改变量名称并且必须在@Param 中更改名称时,这也令人沮丧

有没有什么好的方法来注释方法,以便编译器知道保留变量名的元信息?

我注意到在 Eclipse 编译器中,我得到了 arg0、arg1,并且在我单步执行代码时处于调试模式。如何设置它以使实际的变量名通过?

最后,我对 Play 1.3 处理这个问题的方式达到了顶峰,它使用了 javassist 和字节码的东西(我更愿意将其排除在应用程序之外),但仍然不确定它是如何工作的。有谁知道我是怎么做到的(学习比什么都重要)

谢谢, 院长

【问题讨论】:

  • 如果有人至少可以描述 play1.3 的内容以及他们为保持变量名正常工作所做的工作,则添加赏金。

标签: java annotations javacompiler


【解决方案1】:

据我了解,您尝试将变量名称保留在方法的指纹中。如果它是正确的,那么有一个适合你的解决方案:

简短地说: 将 -g:wars 添加到编译命令行或在 Eclipse 中检查以下设置:Eclipse -> 项目属性 -> Java 编译器 -> 将变量属性添加到生成的类文件。 Source

【讨论】:

    猜你喜欢
    • 2015-07-27
    • 1970-01-01
    • 1970-01-01
    • 2012-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-04
    • 1970-01-01
    相关资源
    最近更新 更多