Я использую JavaPoet для генерации кода, вот основная часть моего фрагмента кода:
...
TypeSpec typeSpec = createTypeSpec();
JavaFile javaFile = JavaFile.builder(myPackage, typeSpec).build();
// write to file
javaFile.writeTo(filer);
// I want to call this doTask() only after the java file is written on hard disk. How to guarantee that?
doTask();
Работает нормально. Файл Java создается на жестком диске. Теперь у меня есть новое требование, мне нужно выполнить некоторую работу после того, как на жестком диске сгенерирован java-файл, это называется фрагмент кода doTask()
в приведенном выше фрагменте кода. Но как я могу гарантировать, что файл java сгенерирован, а затем запустить doTask()
?
Обратите внимание, что при создании файла java соответствующие пакеты также создаются во время выполнения. Таким образом, каталог, в котором находится файл Java, не создается во время компиляции.