既存のコード ベースを Java 7 に切り替えましたが、次の警告が引き続き表示されます。
warning: File for type '[Insert class here]' created in the last round
will not be subject to annotation processing.
簡単に検索すると、誰もこの警告にヒットしていないことがわかります。
javac コンパイラのソースにも記載されていません。
OpenJDK\langtools\src\share\classes\com\sun\tools\javac\processing\JavacFiler.java から
private JavaFileObject createSourceOrClassFile(boolean isSourceFile, String name) throws IOException {
checkNameAndExistence(name, isSourceFile);
Location loc = (isSourceFile ? SOURCE_OUTPUT : CLASS_OUTPUT);
JavaFileObject.Kind kind = (isSourceFile ?
JavaFileObject.Kind.SOURCE :
JavaFileObject.Kind.CLASS);
JavaFileObject fileObject =
fileManager.getJavaFileForOutput(loc, name, kind, null);
checkFileReopening(fileObject, true);
if (lastRound) // <-------------------------------TRIGGERS WARNING
log.warning("proc.file.create.last.round", name);
if (isSourceFile)
aggregateGeneratedSourceNames.add(name);
else
aggregateGeneratedClassNames.add(name);
openTypeNames.add(name);
return new FilerOutputJavaFileObject(name, fileObject);
}
これは何を意味し、この警告をクリアするにはどのような手順を実行すればよいですか?
ありがとう。