The only time this wouldn't be the case is for a standard annotation - say provided by the jre lib. In those cases you might need an explicit dep on an annotation processor 3rdparty lib, and - IMO - that dep belongs in all libraries that use the annotation to be processed.