简体   繁体   中英

Managed bean with a parameterized bean class must be @Dependent: class org.apache.cxf.jaxrs.provider.DataSourceProvider

I'm setting up a new server, JBoss EAP 7.1, and having trouble with attempting to get the first successful deployment in place. My stacktrace looks like the following:

ERROR [org.jboss.msc.service.fail] (MSC service thread 1-6) MSC000001: Failed to start service jboss.deployment.unit."foo.war".WeldStartService: org.jboss.msc.service.StartException in service jboss.deployment.unit."foo.war".WeldStartService: Failed to start service
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1978)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: org.jboss.weld.exceptions.DefinitionException: WELD-000071: Managed bean with a parameterized bean class must be @Dependent: class org.apache.cxf.jaxrs.provider.DataSourceProvider
    at org.jboss.weld.bean.ManagedBean.checkType(ManagedBean.java:208)
    at org.jboss.weld.bean.AbstractBean.initializeAfterBeanDiscovery(AbstractBean.java:107)
    at org.jboss.weld.bean.ManagedBean.initializeAfterBeanDiscovery(ManagedBean.java:122)
    at org.jboss.weld.bootstrap.ConcurrentBeanDeployer$AfterBeanDiscoveryInitializerFactory.doWork(ConcurrentBeanDeployer.java:132)
    at org.jboss.weld.bootstrap.ConcurrentBeanDeployer$AfterBeanDiscoveryInitializerFactory.doWork(ConcurrentBeanDeployer.java:123)
    at org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:62)
    at org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:55)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
    at org.jboss.threads.JBossThread.run(JBossThread.java:320)

ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("deploy") failed - address: ([("deployment" => "foo.war")]) - failure description: {"WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"foo.war\".WeldStartService" => "Failed to start service
    Caused by: org.jboss.weld.exceptions.DefinitionException: WELD-000071: Managed bean with a parameterized bean class must be @Dependent: class org.apache.cxf.jaxrs.provider.DataSourceProvider"}}

I've had a look at a question asked in the past that might be relevant, but I've been unable translate it to my use-case, probably because my project is not using Spring. Something I have in common with the previous question is that I am using Apache Tika, though.

I expect, when I run the JBoss standalone.sh script, to see mostly clear INFO logs. What I'm seeing, however, are a hefty share of stacktrace logs that indicate that I have an issue with a bean class, from a jaxrs dependency, not being @Dependent.

I think it's a problem with Tika parsers dependency in your pom.xml

<dependency>
            <groupId>org.apache.tika</groupId>
            <artifactId>tika-parsers</artifactId>
            <version>1.20</version>
            <exclusions>
                    <!--
                            Exclude otherwise the following error is thrown:
                                    WELD-000071: Managed bean with a parameterized bean class 
                                    must be @Dependent: class org.apache.cxf.jaxrs.provider.XPathProvider 
                     -->
                    <exclusion>
                            <artifactId>cxf-rt-rs-client</artifactId>
                            <groupId>org.apache.cxf</groupId>
                    </exclusion>
                    <!--
                            Exclude otherwise the following error is thrown:
                                    java.lang.NoSuchMethodException: org.objectweb.asm.MethodWriter.visitLabel(org.objectweb.asm.Label) 
                     -->
                    <exclusion>
                            <artifactId>asm</artifactId>
                            <groupId>org.ow2.asm</groupId>
                    </exclusion>
            </exclusions>
    </dependency>

You can have the original issue there

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM