Внедрение ресурсов работает только в управляемой среде, например, на сервере приложений Java EE или в контейнере Spring. В автономном приложении JNDI - ваш единственный выбор .
Аннотации в целом предназначены для обработки каким-либо инструментом / каркасом, а простая JVM, выполняющая ваш метод main()
, просто не содержитнапример.Единственные известные мне аннотации, которые обрабатываются JVM из коробки, это время компиляции @Deprecated
, @Override
и @SuppressWarnings
.
Ответ на ваш комментарий: Я не знаюУ меня нет доступа к книге, поэтому я буду только догадываться, что они, вероятно, описывают работу клиентского компонента приложения и , а не автономного приложения-клиента .Это не то же самое - проверьте FAQ по Glassfish EJB .ACC обычно развертываются на сервере приложений и могут выполняться через Java Web Start или без него, но специфичным для AS способом.См. Пример Glassfish (вы не сказали, что выполняет ваш EJB).