我正在使用 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文件所在的目录不是在编译时创建的。