Напишите файл Java с использованием JavaPoet в процессоре аннотаций - PullRequest
0 голосов
/ 10 февраля 2019

Я пытаюсь использовать processingEnv.getFiler () для создания исходного файла.Но я не вижу создания исходного файла.Ниже приведен код, который я использую:

public void javaPoetEg() {
  Filer filer = super.processingEnv.getFiler();
  MethodSpec main = MethodSpec.methodBuilder("testFiler")
    .addModifiers(Modifier.PUBLIC)
    .returns(void.class)
    .addParameter(String[].class, "args")
    .addStatement("$T.out.println($S)", System.class, "Hello, JavaPoet!")
    .build();

  TypeSpec helloWorld = TypeSpec.classBuilder("HelloWorld")
    .addModifiers(Modifier.PUBLIC, Modifier.FINAL)
    .addMethod(main)
    .build();


  JavaFile javaFile = JavaFile.builder("com.ankit.annotation", helloWorld)
    .build();

  try{
    javaFile.writeTo(filer);
  } catch (IOException e) {
    e.printStackTrace();
  }
}

И затем вызов функции javaPoetEg в переопределенной функции process () процессора аннотаций.Что я тут не так делаю?

1 Ответ

0 голосов
/ 10 февраля 2019

Я предлагаю вам взглянуть на то, как Filer должен работать. Javadoc
Расположение исходных файлов может зависеть от параметров, которые вы указываете в командной строке, или вы должны проверить каталог generated по умолчанию.

...