Module java.compiler
Package javax.tools

Interface JavaCompiler.CompilationTask

所有超级接口:
Callable<Boolean>
所有已知实现类:
JavacTask
封装接口:
JavaCompiler

public static interface JavaCompiler.CompilationTask extends Callable<Boolean>
表示编译任务的未来的接口。编译任务尚未开始。要启动任务,请调用call方法。

在调用call方法之前,可以配置任务的其他方面,例如通过调用setProcessors方法。

  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addModules(Iterable<String> moduleNames)
    添加要在模块解析期间考虑的根模块。
    call()
    执行此编译任务。
    void
    setLocale(Locale locale)
    设置在格式化诊断和其他本地化数据时应用的区域设置。
    void
    setProcessors(Iterable<? extends Processor> processors)
    设置处理器(用于注解处理)。
  • Method Details

    • addModules

      void addModules(Iterable<String> moduleNames)
      添加要在模块解析期间考虑的根模块。无效的模块名称可能导致抛出IllegalArgumentException,或在启动任务时报告诊断信息。
      参数:
      moduleNames - 根模块的名称
      抛出:
      IllegalArgumentException - 对于一些无效的模块名称可能会抛出
      IllegalStateException - 如果任务已经开始
      自:
      9
    • setProcessors

      void setProcessors(Iterable<? extends Processor> processors)
      设置处理器(用于注解处理)。这将绕过正常的发现机制。
      参数:
      processors - 处理器(用于注解处理)
      抛出:
      IllegalStateException - 如果任务已经开始
    • setLocale

      void setLocale(Locale locale)
      设置在格式化诊断和其他本地化数据时应用的区域设置。
      参数:
      locale - 要应用的区域设置;null表示不应用任何区域设置
      抛出:
      IllegalStateException - 如果任务已经开始
    • call

      Boolean call()
      执行此编译任务。只能执行一次编译。对此方法的后续调用将抛出IllegalStateException
      指定者:
      call 在接口 Callable<Boolean>
      返回:
      如果所有文件编译无错误,则为true;否则为false
      抛出:
      RuntimeException - 如果用户提供的组件中发生不可恢复的错误。 cause将是用户代码中的错误。
      IllegalStateException - 如果调用超过一次