我在IBM RAD 9为WebSphere 8.5应用程序开发,我已经拆分项目,以下Maven模块:的Websphere - 由其他的maven组件生产商生产的豆停止使用EJB 3 :(</p> <p>可以看出
- DTO(仅 '笨' 传输对象)
- EJB(业务逻辑)
- 幅(其余的频道,建立类型WAR)
- 耳(当然,生成类型是EAR )
EJB模块在META-INF中有空的beans.xml文件。有一个生产班上有,产生一些my.ejb.HelperClass
@ApplicationScoped
public class MyHelperProducer {
@Produces
@ApplicationScoped
public HelperClass produceGenWsClient() {
....
}
}
用法相当简单:
@Inject
private HelperClass helper;
它已在运作!在代码中发生了一些变化(涉及许多类中的许多字段的重构,但不包括那些涉及到的)!一切停止运行。现在我得到这样的错误消息:
[14年8月27日16:33:38:960 CEST] 00000063 BeansDeployerËBeansDeployer 部署 javax.enterprise.inject.UnsatisfiedResolutionException:API类型 [我的。找不到符合条件的限定符: [@ javax.enterprise.inject.Default()]注入字段 注入点,字段:private my.ejb.HelperClass my.web.MyChannel.helper, Bean Owner:[WSEjbBean [businessLocals = [my.web.MyChannel], ejbName = MyChannel1710565165,Name:null,WebBeans类型:ENTERPRISE,API 类型:[java.lang.O注册,my.web.MyChannel],限定符:[javax.enterprise.inject.Any,javax.enterprise.inject.Default]] InjectionType:[class my.ejb.HelperClass]注释: [带注释的字段,基类型: class my.ejb.HelperClass,类型Closures: [class my.ejb.HelperClass,class java.lang.Object],注释: [@ javax.inject.Inject()],Java成员名称:helper]限定符: [[@ javax.enterprise.inject.Default()]] at org.apache.webbeans.util.InjectionExceptionUtils.throwUnsatisfiedResolutionException(InjectionExceptionUtils.java:92) at org.apache.webbeans.container.ResolutionUtil.checkResolvedBeans(ResolutionUtil .java:96) at org.apache.webbeans.container.InjectionResolver.checkInjectionPoint S(InjectionResolver.java:189) 在 org.apache.webbeans.container.BeanManagerImpl.validate(BeanManagerImpl.java:1092) 在 org.apache.webbeans.config.BeansDeployer.validate(BeansDeployer.java:394) 在 org.apache.webbeans.config.BeansDeployer.validateInjectionPoints(BeansDeployer.java:332) 在 org.apache.webbeans.config.BeansDeployer.deploy(BeansDeployer.java:183) 在 org.apache.webbeans .lifecycle.AbstractLifeCycle.startApplication(AbstractLifeCycle.java:124) at org.apache.webbeans.web.lifecycle.WebContainerLifecycle.startApplication(WebContainerLifecycle.java:78) at com.ibm.ws.webbeans.common.CommonLifeCycle。startApplication(CommonLifeCycle.java:106)
的“有趣”的东西存在,我已经得到了在其他应用这样的错误,但我已经通过启动服务器干净,删除并重新导入该项目解决了他们到工作区。但是,现在,即使这样也行不通。
实际上这里有什么问题? RAD有没有一个大错误?或者我做错了什么,那只是偶然的工作?我如何诊断这些错误?
事实上,在反转OpenJPA映射中的变化后,问题“消失”了。但是为什么这个异常在bean上显示,没有引用OpenJPA,以及为什么没有显示OpenJPA异常? – 2014-08-28 07:44:11