首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当没有这样的值时,树脂说‘@ name (’dpa‘)是...`的重复名称是什么原因?

当没有这样的值时,树脂说‘@ name (’dpa‘)是...`的重复名称是什么原因?
EN

Stack Overflow用户
提问于 2018-02-15 22:25:13
回答 1查看 140关注 0票数 1

我有一个现有的Java 7 webprofile web应用程序,用于TomEE和Glassfish。我现在已经尝试将它部署到树脂4.0.55开源版本上。我让CDI使用@Named("key") String注入配置字符串的机制失败了,原因如下:

代码语言:javascript
复制
/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开头的键。

这是什么意思?原因是什么?我该怎么解决呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-01 12:35:26

消息"@Named('{0}') is a duplicate name for\n {1}\n {2}“可以在InjectManager.java类文件中找到。

相关源代码:

代码语言:javascript
复制
  private void addBeanByName(String name, Bean<?> bean)
  {
...
    // ioc/0g31
    int p = name.indexOf('.');
    if (p > 0) {
      addBeanByName(name.substring(0, p), bean);
    }
  }

使用句点字符('.')分隔给定的名称,并递归地将给定的bean添加到上下文中。这种行为必须在CDI1.0 (JSR-299)中描述,或者实现是错误的。

ioc/0g31的评论看起来像是对一个问题的引用,但我在臭虫追踪系统中找不到它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48817314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档