私はジーとワイルドフライで数日間働いています。私はこのようなものを作成しました:@Produces原因Beanの名前があいまいです
@Stateless
public class BookService {
@EJB
private BookDao bookDao;
public void addBook(Book book) {
bookDao.saveBook(book);
}
public Optional<Book> getBookById(Long id) {
return bookDao.getBookById(id);
}
public void updateBook(Book book) {
bookDao.updateBook(book);
}
@Produces
@Named("books")
public List<Book> getAllBooks() {
return bookDao.getAllBooks();
}
}
次の私は、JSFで#{books}
を使用するようにtryiedをしかし、私は例外だ:中にエラー:
2017年5月23日08:49:07447]アーティファクト耳:耳をアーティファクト 展開。詳細はサーバーログを参照してください。
[2017年5月23日08:49:07448]アーティファクト耳:耳を:のjava.lang.Exception: { "WFLYCTL0080:失敗したサービス" => {LAB6 "jboss.deployment.unit \。"。耳\ => "サービス jboss.deployment.unitでorg.jboss.msc.service.StartException \。" Lab6.ear \」WeldStartService "WeldStartService。": サービスによって引き起こさ
の起動に失敗しました: org.jboss.weld.exceptions.DeploymentException:WELD-001414:Bean名があいまいです。名前帳がBeanに解決されます。
- 修飾子と
生産法[一覧] [@default @Named @Anyは]で、
生産法[一覧] [BackedAnnotatedMethod] @Produces()はパブリック app.service.BookService.getAllBooksを@Named]として宣言しました[= BackedAnnotatedMethod] @Produces @Named public app.service.BookService.getAllBooks()] "}、" WFLYCTL0412:Required インストールされていないサービスとして宣言された修飾子[@Default @Named @Any]: "=> [ "jboss.deployment.unit \。" Lab6.ear \ "WeldStartService。 "]、" WFLYCTL0180:不足している/利用できない依存関係を持つ サービス" =>未定義}
問題の原因は何ですか?
展開構造に関する情報を共有してください。私はEARになるだろうと思うし、あなたは2人の依存関係を持っていて、2人の同じ生産者を生み出している。 'BookService'がデプロイメントの1つの場所にあることを確認してください。 – Siliarus