Запуск процессора выдает предупреждение о дублировании классов - PullRequest
0 голосов
/ 16 мая 2011

После запуска javac с выбранным процессором, я получаю правильные сгенерированные исходные файлы.К сожалению, каждый раз, когда я перезапускаю процесс, я вижу предупреждения о duplicate class: com..... (одно обрабатывается).

Это не приводит к сбою задачи ant, поэтому это не реальная проблема, но я был бы радчтобы избавиться от сообщения.Как я могу это сделать?

Я в основном бегаю:

JavaFileObject jfo = environment.getFiler().createSourceFile(somepackage + "." + myType.getSimpleName() + "Generated", myType);
Writer writer = jfo.openWriter();
generateSomeOtherClass(writer, myTypeElement);
writer.close();

1 Ответ

2 голосов
/ 27 мая 2011

Интересно, связано ли это с этой ошибкой в ​​javac , которая должна быть исправлена ​​в Java 7? Компилятор выдает свои ошибки раньше, чем запускает процессоры аннотаций, которые в конечном итоге делают ошибки не совсем ошибочными, и в итоге все получается.

На самом деле мы написали пользовательскую задачу Ant, которая расширяет обычную задачу Ant javac, переопределяет различные методы log () и пытается исключить ошибки, которые могут быть ложными после завершения всей обработки аннотаций. Я бы выложил код, но, честно говоря, он очень ужасен, и я бы предпочел не раскрывать его в мире ... Множество больших и регулярных выражений, и это ужасно хрупко ...

...