Because Maven throws together things that should not be thrown together which Gradle properly separates.
The class using the services you define is run as part of annotation processing.
So your services are not needed as implementation dependencies, but as annotationProcessor dependencies.