树脂的原因是什么?@Named('dpa')是......的重复名称,当没有这样的值时?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了树脂的原因是什么?@Named('dpa')是......的重复名称,当没有这样的值时?相关的知识,希望对你有一定的参考价值。

我有一个现有的Java EE 7 webprofile Web应用程序,可用于TomEE和Glassfish。我现在尝试在Resin 4.0.55开源版上部署它。我使用@Named("key") String注入CDI配置字符串的机制失败了:

/home/tra/Hentet/resin-4.0.55/conf/app-default.xml:55: @Named('dpa') is
a duplicate name for
  ProducesMethodBean[String, IngesterModule.provideDestinationPath(), {@javax.inject.Named(value=dpa.putfile.destinationpath), @Default(), @Any()}, name=dpa.putfile.destinationpath]
  ProducesMethodBean[String, IngesterModule.provideDeliveriesFolder(), {@javax.inject.Named(value=dpa.deliveries.folder), @Default(), @Any()}, name=dpa.deliveries.folder]

我的源代码中没有@Named("dpa"),但错误消息中列出的名称包含以dpa开头的键。

这是什么意思?原因是什么?以及如何解决?

答案

消息“@Named('{0}') is a duplicate name for {1} {2}”位于InjectManager.java类文件中。

相关源代码:

  private void addBeanByName(String name, Bean<?> bean)
  {
...
    // ioc/0g31
    int p = name.indexOf('.');
    if (p > 0) {
      addBeanByName(name.substring(0, p), bean);
    }
  }

使用句点字符('.')将给定名称拆分为分隔符,并将给定的bean以递归方式添加到每个部分的上下文中。必须在CDI 1.0(JSR-299)中描述此行为,或者实现可能是错误的。

ioc/0g31评论看起来像是一个问题的参考,但我在bug tracking system找不到它。

以上是关于树脂的原因是什么?@Named('dpa')是......的重复名称,当没有这样的值时?的主要内容,如果未能解决你的问题,请参考以下文章

No bean named 'cxf' is defined

ImportError: No module named 'pycocotools'

No module named 'fabric.api'

ModuleNotFoundError: No module named 'xxx'可能的解决方案大全

Python报错No module named 'cv2'

[python][pandas]No module named 'pandas.lib'