AnnotationValue#toString returns "a string representation of this value ... in a form suitable for representing this value in the source code of an annotation."
JDK-8164819 changed the implementation to be consistent with core reflection, and replaced the use of qualified names for types (in annotations and class literals) with simple names: http://hg.openjdk.java.net/jdk/jdk/rev/761b86d5563d#l2.24
That change made it harder to use the toString() representation in annotation-processor generated code, because the referenced types may require imports. I've encountered a number of annotation processors that assumed AnnotationValue.toString() would return a 'self-contained' representation of the annotation value that didn't require any additional imports.
Is it worth considering leaving the use of qualified names in AnnotationValue#toString, to make it easier to use the provided string representation in generated code?