WELD-001318 не может разрешить неоднозначную зависимость
Я получаю ошибку при развертывании моего приложения следующим образом..
Caused by: org.jboss.weld.exceptions.AmbiguousResolutionException: WELD-001318 Cannot resolve an ambiguous dependency between [
Producer Method [String] with qualifiers [@Any @Config] declared as [[method] @Produces @Config public ca.comdev.cdip.mis.enterpriseportal.configuration.ConfigurationProvider.getConfigurationValue(InjectionPoint)],
Producer Method [String] with qualifiers [@Any @Config] declared as [[method] @Produces @Config public ca.comdev.cdip.mis.enterpriseportal.configuration.ConfigurationProvider.getConfigurationValue(InjectionPoint)]]
И у меня есть только на такой метод, заголовок которого выглядит так
@Produces @Config public String getConfigurationValue(InjectionPoint p) throws ConfigurationException{...}
И класс имеет эти
@Named
@Singleton
@Startup
public class ConfigurationProvider {...}
Пожалуйста, помогите. Эта ошибка, вероятно, более неоднозначна, чем мой код.
1 ответ:
Эта ошибка произошла со мной из-за случайного использования одного и того же имени EJB "ExternalClient" в 2 разных модулях.
<enterprise-beans> <session> <ejb-name>ExternalClient</ejb-name> <!-- DUPLICATED --> <ejb-class>com.company.ExternalClient</ejb-class> <session-type>Stateless</session-type> <env-entry> <env-entry-name>url</env-entry-name> <env-entry-type>java.lang.String</env-entry-type> <env-entry-value>http://company.com/API</env-entry-value> </env-entry> </session> </enterprise-beans>
Это можно обнаружить при использовании JBoss, проверив привязки JNDI во время развертывания. EJB был создан несколько раз.