の対象になりません、私は、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 \共有\クラス\ comの日の\ツール\ \のjavac \処理\ 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);
}
から
何これはどういう意味ですか、この警告をクリアするためにどのような措置を取ることができますか?
ありがとうございました。
この質問を読んだとき、最初はファイルを閉じることができなかったためだと思いました。これをテストするために、私はファイルを作成、書き込んだり閉じたりしなかったシンプルなプロセッサを作成しました。私はそれを走らせた。それは、同様だが異なる警告を与えた。 – emory