Type requires transitive and requires static
Type requires transitive and requires static
Answer
requires transitive java.logging; requires static java.annotation;
transitive re-exports the dependency to downstream consumers. static makes the dependency compile-time only — absent at runtime is fine.