Let's assume ClassGenerated.java is generated by running the java annotation processor on ClassGeneratedParent.java and ClassA imports both ClassGenerated and ClassGeneratedParent.
When running javac ClassA.java ClassGeneratedParent.java
(we don't specify ClassGenerated.java because it should be generated on the fly by javac), ClassA will complaint that it can not find symbol ClassGenerated but the compilation is still successful and we have ClassGenerated.java as well as ClassA.class, ClassGeneratedParent.class, and ClassGenerated.class.
I could split into 2 runs, first run javac -proc:only ClassGeneratedParent.java
then javac ClassA.java ClassGeneratedParent.java ClassGenerated.java
to avoid the false import compile error but then I'll have to remember which files need to be pre-processed and I don't want to have to remember that. Is there another way to avoid the false import compile error polluting the output of javac?