2016-11-25 5 views
0

良い一日展開エラー

私は、JBoss EAP 7への既存のアプリケーションを展開しようとしています、しかし、展開は次のエラーで失敗しました:

Caused by: java.lang.IllegalArgumentException: WFLYWELD0033: interface javax.ejb.EJB annotation not found on InterfaceTest ClassA \"}}" 
at org.jboss.as.weld.services.bootstrap.WeldEjbInjectionServices.registerEjbInjectionPoint(WeldEjbInjectionServices.java:97) 
at org.jboss.weld.injection.ResourceInjectionFactory$EjbResourceInjectionProcessor.getResourceReferenceFactory(ResourceInjectionFactory.java:274) 
at org.jboss.weld.injection.ResourceInjectionFactory$EjbResourceInjectionProcessor.getResourceReferenceFactory(ResourceInjectionFactory.java:269) 
at org.jboss.weld.injection.ResourceInjectionFactory$ResourceInjectionProcessor.createFieldResourceInjection(ResourceInjectionFactory.java:217) 
at org.jboss.weld.injection.ResourceInjectionFactory$ResourceInjectionProcessor.createResourceInjections(ResourceInjectionFactory.java:189) 
at org.jboss.weld.injection.ResourceInjectionFactory.discoverType(ResourceInjectionFactory.java:449) 
at org.jboss.weld.injection.ResourceInjectionFactory.getResourceInjections(ResourceInjectionFactory.java:97) 
at org.jboss.weld.injection.producer.ResourceInjector.<init>(ResourceInjector.java:59) 
at org.jboss.weld.injection.producer.ResourceInjector.of(ResourceInjector.java:49) 
at org.jboss.weld.injection.producer.BeanInjectionTarget.<init>(BeanInjectionTarget.java:63) 
at org.jboss.weld.injection.producer.BeanInjectionTarget.createDefault(BeanInjectionTarget.java:47) 
at org.jboss.weld.manager.InjectionTargetFactoryImpl.chooseInjectionTarget(InjectionTargetFactoryImpl.java:113) 
at org.jboss.weld.manager.InjectionTargetFactoryImpl.createInjectionTarget(InjectionTargetFactoryImpl.java:86) 
at org.jboss.weld.bean.ManagedBean.<init>(ManagedBean.java:100) 
at org.jboss.weld.bean.ManagedBean.of(ManagedBean.java:80) 
at org.jboss.weld.bootstrap.AbstractBeanDeployer.createManagedBean(AbstractBeanDeployer.java:261) 
at org.jboss.weld.bootstrap.BeanDeployer.createClassBean(BeanDeployer.java:228) 
at org.jboss.weld.bootstrap.ConcurrentBeanDeployer$2.doWork(ConcurrentBeanDeployer.java:78) 
at org.jboss.weld.bootstrap.ConcurrentBeanDeployer$2.doWork(ConcurrentBeanDeployer.java:75) 
at org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:63) 
at org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:56) 
at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
at java.lang.Thread.run(Thread.java:745) 
at org.jboss.threads.JBossThread.run(JBossThread.java:320) 

A級

@Named(value = "ao007") 
    @ViewAccessScoped 
    public class classA { 

    @EJB 
    InterfacTest test; 

    } 

あるInterfaceTest

あります
@Remote 
    public interface InterfaceTest { 

    } 

EJBは同じ瓶に、瓶は、私​​は多くのことを探索したが誰も持っていないようだ、私は

を展開しています戦争のweb-inf libになっている

@Stateless 
    @Interceptors(Interceptor.class) 
    public class EJBTest implements InterfaceTest { 

    } 

すべて.classですこのエラーがありました

ありがとうございます。

+0

スタックトレースからの1行はあまり役に立ちません。スタックトレース全体を提供してください。 –

+0

classAはマネージドビーンで、@ injject deployは動作しますが、なぜ@ejbでないのですか? – user3526455

+0

クラスを含むjarに 'beans.xml'ファイルが含まれていますか? –

答えて

0

InterfaceTestを実装している場合、@ Remoteを2回(EJBTestとInterfaceTestに)置く必要はなく、InterfaceTestだけに置くことができます。

注射を試しましたか?

classAのコンテキストは何ですか? @Namedを置く必要はありませんか?

+0

はい@namedを上記のコードに追加するのを忘れました – user3526455

0

ClassAは「管理コンポーネント」ではありません。 EJB。したがって、注入することはできません。

+0

classAはmanagedBeamではありません。Weblogic 12cではコードがデプロイされてうまく動作し、@EJB injectcion – user3526455