JSR-330 определяет определенные соглашения об именах в терминах пакетов, например:
javax.inject.Inject
javax.inject.Scope
Guice - это эталонная реализация JSR-330. Однако при его использовании вы замечаете, что он не соответствует спецификации. Например:
com.google.inject.Inject
com.google.inject.Scope
Этого не происходит ни в одной из эталонных реализаций, которые я видел до сих пор. Что делает Google Guice настолько особенным, что, будучи RI, они могут просто игнорировать спецификацию, которую они реализуют?