【问题标题】:How to pass -X options programmatically to the java compiler如何以编程方式将 -X 选项传递给 java 编译器
【发布时间】:2012-08-07 07:55:45
【问题描述】:

JavaCompiler - 如何以编程方式将-X options 传递给 JavaCompiler 类?

【问题讨论】:

  • 您试图通过哪些选项?验证您在执行时没有传递针对 JVM 的选项,而不是编译器。

标签: java compiler-construction javac


【解决方案1】:

您链接到的JavaCompiler 页面有一些很好的示例。他们使用以下代码行调用编译器:

compiler.getTask(null, fileManager, null, null, null, compilationUnits1).call();

getTask 方法的第四个参数是选项字符串列表(实际上是Iterable<String>,但列表就足够了)。所以你可以这样做:

compiler.getTask(null, fileManager, null,
    Arrays.asList("-Xlint:all"),
    null, compilationUnits1).call();

【讨论】:

    【解决方案2】:

    AFAIK Java 编译器在当前 JVM 中运行。如果你想设置-X 选项,你需要为你的程序设置它。

    【讨论】:

    • 我打算通过 -Xlint 来编译某些文件,并为其他文件传递其他标志。只需要灵活地为每个文件传递标志。
    猜你喜欢
    • 2013-12-01
    • 2013-06-29
    • 1970-01-01
    • 2021-10-10
    • 1970-01-01
    • 2015-09-26
    • 1970-01-01
    • 2023-04-08
    • 2020-06-27
    相关资源
    最近更新 更多