«Имя Бина неоднозначно» CDI обнаруживает, что Бины больше не должны быть активными? - PullRequest
1 голос
/ 02 мая 2020

Я получаю Ambigious Bean-Error внизу при выполнении моего Web-приложения с Netbeans 8.2 и Glassfi sh 5 с использованием JavaEE 8. CDI обнаруживает тот же Bean из более старой версии проекта, который я больше не работает, показывая мне .x html -файл из текущего проекта, но он использует обнаружение класса с тем же именем в другом проекте, чтобы заполнить значения для полей языка унифицированных выражений.

Это вызывает конфликт, так как старый бин по имени Foo лежит вокруг.

@Named
//@Named("foo")
@RequestScoped
public class Foo implements Serializable { ... 

Переименование Бина разрешает конфликт, но мой index.x html больше не найдет нужный бин .

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://xmlns.jcp.org/jsf/html">
    <h:head>
        <title>Facelet Title</title>
    </h:head>
    <h:body>
        Test: #{foo2.fieldName}  //if bean is named Foo2
    </h:body>
</html>

Переименование класса и ссылок на него в index.xthml приводит к тому, что поля становятся пустыми.

Schwerwiegend:   Exception while loading the app
Schwerwiegend:   Undeployment failed for context /Movie
Schwerwiegend:   Exception while loading the app : CDI deployment failure:WELD-001414: Bean name is ambiguous. Name foo resolves to beans: [Managed Bean [class NEWDIR.Foo] with qualifiers [@Default @Any @Named], Managed Bean [class SOMEODLDDIR.Foo] with qualifiers [@Default @Any @Named]]

Любая помощь приветствуется.

...