java - 在编译时访问VM参数

标签 java jvm-arguments annotation-processing

我在访问我的程序中的虚拟机参数时遇到问题。我正在编写一个注释处理器,我想在其中访问一些虚拟机参数。我正在使用 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/

相关文章:

java - Android 文件隐藏在外部存储上

Java打印包含多个整数的字符串

java - 为什么输出仅交替显示?

java - liberty 配置文件配置问题 (log4j2)

java - 让 IntelliJ 识别 AnnotationProcessor 生成的类

java - 如何基于使用批注在REST中创建资源的用户授权特定资源

java - 无法使用 Maven 插件上的注释设置参数

java - 如何从 Java 应用程序内部获取 VM 参数?

spring-boot - Kotlin Spring Boot 注解处理 "Cannot Resolve Configuration Processing"

java - 设置 java.awt.headless=true 有什么好处?