AFAIK when some errors were reported from within one processor, other will not be run. Is there any way to force processing independently?
1 Answers
According to the documentation, only uncaught errors or exceptions stop further processing:
If a processor throws an uncaught exception, the tool may cease other active annotation processors. [...] Since annotation processors are run in a cooperative environment, a processor should throw an uncaught exception only in situations where no error recovery or reporting is feasible.
If a processor reports an error, the errorRaised()
method should return true in the next round but not stop processing:
Printing a message with an error kind will raise an error.
If a processor raises an error, the current round will run to completion and the subsequent round will indicate an error was raised.
It says "the tool may cease other active annotation processors" (emphasis added). So if you need to keep going on even in case of uncaught exceptions, it should be possible with the right processing tool. I don't know if there are any tools that support this though. At least the processing tool should be the direction to look for if you need this feature.

- 28,903
- 6
- 107
- 121