Prior to JDK 21, the `javac` compiler was overwriting some output files during compilation. This can occur, for example, on case-insensitive filesystems.
Starting from JDK 21 a new compiler option: `-Xlint:output-file-clash` has been added to the `javac` compiler. This new option should provide a way for users experiencing this problem to convert what is currently a runtime error into a compile-time warning (or error with `-Werror`). This new compiler option enables output file clash detection. The term "output file" covers class files, source files, and native header files.