Я использую Weld 1.0. Вот моя ситуация: У меня есть класс инстанцировании контейнер Weld, который пытается создать экземпляр класса StartupShutdown
:Шов Впрыскивание сварного шва в конструктор: невозможно разрешить любые бобы для типов
public static void main(String[] args) {
WeldContainer weld;
weld = new Weld().initialize();
StartupShutdown startupShutdown = weld.instance().select(StartupShutdown.class).get();
}
Вот мой класс StartupShutdown
:
public class StartupShutdown {
@Inject
public StartupShutdown(LoggingFileHandler loggingFileHandler) {
}
}
Я получил это исключение:
Exception in thread "main" org.jboss.weld.exceptions.UnsatisfiedResolutionException: WELD-001308 Unable to resolve any beans for Types: [class fr.easycompany.easywrite.processes.StartupShutdown]; Bindings: [QualifierInstance{annotationClass=interface javax.enterprise.inject.Default, values={}, hashCode=2062316647}]
at org.jboss.weld.manager.BeanManagerImpl.getBean(BeanManagerImpl.java:728)
at org.jboss.weld.bean.builtin.InstanceImpl.get(InstanceImpl.java:102)
at fr.easycompany.easywrite.EasyWrite.main(EasyWrite.java:18)
Когда я удаляю параметр в конструкторе StartupShutdown
, он работает.
Просто для информации, вот мой LoggingFileHandler
:
public class LoggingFileHandler extends FileHandler {
@Inject
public LoggingFileHandler(LoggingFormatter formatter) throws IOException, SecurityException {
super("");
this.setFormatter(formatter);
}
}
Что с этим параметром в моем конструкторе?