내 프로젝트 techstack은 다음과 같습니다 JavaEE 어플 (8), 제이보스,이 같은 제이 보스 과 구조 :JavaEE 8에 같은 이름의 인터페이스 2 개를 삽입 할 수 있습니까?
companycontext
- company
- workplace
- employee
- web (beans.xml here)
내가 기업 및 직장 프로젝트 모두에서 EmployeeAdapter 인터페이스를 가지고있다. CDI는 모든 프로젝트의 모든 콩을 발견 할 것입니다 때문에 그래서 지금은 오류
A component named 'EmployeeAdapterImpl' is already defined in this module
를 얻을 수 있습니다 내 솔루션 이름과 같은 : ComEmployeeAdapter, WorkEmployeeAdapter ... 내가 같은 것을 사용할 수 @ 나는 그것이 우리의 어댑터 이름을 규칙보다 훨씬 더 생각
// Implement
@Stateless @Named("company")
EmployeeAdapterImpl implement EmployeeAdapter
// Using
@Inject @Named("company") private EmployeeAdapter
// Implement
@Stateless @Named("workplace")
EmployeeAdapterImpl implement EmployeeAdapter
// Using
@Inject @Named("workplace") private EmployeeAdapter
을 명명.
대단히 감사합니다.
죄송합니다. 그리고 작동하지 않습니다. 각 프로젝트마다 EmployeeAdapter 인터페이스가 있습니다. –
클래스 이름을 다르게 지정해야합니다. 'CompanyEmployeeAdapterImpl'을 호출하고 한정자와 함께 다음과 같이 사용합니다 :'@Qualifier ("CompanyEmployeeAdapterImpl") private EmployeeAdapter a'' – Lino
그리고 다른 클래스에 대해서는 똑같이 – Lino