WELD-001318 Не удалось разрешить неоднозначную зависимость - PullRequest
5 голосов
/ 30 августа 2011

Я получаю сообщение об ошибке при развертывании моего приложения следующим образом ..

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 Ответ

1 голос
/ 01 марта 2016

Эта ошибка произошла со мной, случайно использовав одно и то же имя 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 был создан более одного раза.

...