我在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