【问题标题】:"Unsatisfied dependency" warning when injecting Conversation into backing bean将对话注入支持 bean 时出现“不满足的依赖关系”警告
【发布时间】:2012-08-11 18:04:26
【问题描述】:
@ConversationScoped
public class BackingBean

{

    @Inject Conversation conversation;



    public BackingBean() {}



     ...

}

为什么 Intellij 给我一个警告:“不满足的依赖关系:没有 bean 匹配注入点。”

CTRL+F1 详细消息是“检测具有不明确依赖关系的注入点。”

它编译和部署,似乎在 JBoss 上运行良好,例如我可以进行 conversation.begin()、conversation.end() 等。

【问题讨论】:

    标签: jsf-2 intellij-idea jboss7.x cdi jboss-weld


    【解决方案1】:

    我去了项目结构 --> 模块。我选择了我的网络模块。我注意到了 CDI 方面。我单击该构面并注意到两个单选按钮都没有被选中:Apache Open Web Beans 或 JBoss Weld。我选择了 JBoss Weld。然后,出现了一条错误信息:

    "缺少以下库:weld-api.jar、weld-core.jar、weld-logger.jar、weld-se.jar、weld-servlet-int.jar、weld-spi.jar、weld- tomcat-support.jar、weld-wicket.jar"

    我点击了“修复”按钮。打开一个对话框,“设置库”。我有一个选择:“使用库”或“下载”。

    我选择了下载。

    Intellij 下载了八个 jar 文件并将它们安装在我的 $PROJECT_HOME/lib 目录中。

    现在,我在注入 Conversation 时没有收到任何警告。

    【讨论】:

      【解决方案2】:

      如果它在服务器上运行,你就很好 - 看起来你要么在 Idea 中发现了一个错误,要么以某种方式错误配置了项目的 CDI 特性(Conversation 肯定在你的类路径中,但可能没有被 Idea 扫描).. .

      我怀疑是后者:)

      【讨论】:

      • 感谢您提醒我,很明显,Conversation 一定在我的类路径中,因为项目在部署后编译并运行良好。那是我需要解决问题的提醒。经过思考,我意识到将依赖项放在我的 POM 中还不够好;我不得不做点别的事情。我在回答中记录了解决方案。
      猜你喜欢
      • 1970-01-01
      • 2023-03-12
      • 2012-08-23
      • 2020-04-06
      • 1970-01-01
      • 2018-06-15
      • 2012-02-20
      • 1970-01-01
      • 2018-10-20
      相关资源
      最近更新 更多