我在访问我的程序中的虚拟机参数时遇到问题。我正在编写一个注释处理器,我想在其中访问一些虚拟机参数。我正在使用 NETBeans IDE。我创建注释处理器的 jar 文件,然后在另一个包含带有注释的 java 文件的项目中使用它。
现在在我的注释处理器项目中,在 IDE 中我按如下方式设置 VM 参数
-Dname="hello from VM"
当我尝试访问注释处理器的 process() 函数时
String property = System.getProperty("name");
System.out.println(property);
它打印空。 当注释处理器和注释类在同一个 VM 中运行时,我们可以在编译时访问这些 VM 参数吗? 谢谢
最佳答案
我不知道从注释处理器访问系统属性的方法,但我认为注释处理器选项将支持您的用例。本质上你会想要实现 getSupportedOptions
在您的处理器中,通过 processingEnv.getOptions
访问选项,并使用 -Aname=value
在命令行上传递选项。支持的选项也可以通过 @SupportedOptions
指定注释。
关于java - 在编译时访问VM参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14520851/