Я использую Weblogic 12b в качестве сервера приложений.Мое приложение использует Jersey 2.5.1 с Guice3 в моем проекте.У меня есть класс под названием Application, полученный из org.glassfish.jersey.server.ResourceConfig.При запуске сервера я получаю сообщение об ошибке, как показано ниже:
Caused By: org.jboss.weld.exceptions.DeploymentException: WELD-001408: Unsatisfied dependencies for type ServiceLocator with qualifiers @Default
at injection point [BackedAnnotatedParameter] Parameter 1 of [BackedAnnotatedConstructor] @Inject public Application(ServiceLocator)
at Application.<init>(Application.java:22)
at org.jboss.weld.bootstrap.Validator.validateInjectionPointForDeploymentProblems(Validator.java:359)
at org.jboss.weld.bootstrap.Validator.validateInjectionPoint(Validator.java:281)
at org.jboss.weld.bootstrap.Validator.validateProducer(Validator.java:417)
at org.jboss.weld.injection.producer.InjectionTargetService.validateProducer(InjectionTargetService.java:36)
at org.jboss.weld.manager.InjectionTargetFactoryImpl.validate(InjectionTargetFactoryImpl.java:135)
Похоже, что вместо слова Google Guice for DI он использует WELD.
Та же проблема, с которой я сталкиваюсь на бизнес-уровне, когда EJB-классы состоят из Java-классов и вводятся с помощью @ Inject.
Я даже пытался изменить его импорт @Inject на google inject, ноисключение изменилось, но не было решено.
Я пытался использовать beans.xml в web-inf
@ApplicationPath("/")
public class Application extends ResourceConfig {
@Inject
public Application(final ServiceLocator serviceLocator) {
}
}