Если я правильно понимаю, Java CDI должен быть независимым от Weld.Но все примеры, которые я вижу, используют Weld для инициализации контейнера.
Я пытаюсь использовать CDI без Weld, потому что, хотя я хотел бы использовать DI, я очень ограничен в памяти.
Вот пример моей LoggerFactory-
@ApplicationScoped
public class LoggerFactory {
@Produces
@Singleton
public Logger getLogger() {
return LogManager.getLogger("com.myapp");
}
}
И мои попытки получить его в Main-
Logger logger = CDI.current().select(Logger.class).get();
Когда я это делаю, я получаю Unable to locate CDIProvider
.
Можно ли использовать CDI без дополнительных библиотек?Как я могу получить мой Logger в этом случае?