Управляемый компонент с параметризованным классом компонента должен быть @Dependent: class org.apache.cxf.jaxrs.provider.DataSourceProvider - PullRequest
0 голосов
/ 07 января 2019

Я настраиваю новый сервер, JBoss EAP 7.1, и у меня возникают проблемы с попыткой получить первое успешное развертывание на месте. Моя трассировка стека выглядит следующим образом:

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"}}

Я смотрел на вопрос, заданный в прошлом , который мог бы быть актуальным, но я не смог перевести его в мой вариант использования, возможно, потому что мой проект не использует Spring. Что-то общее у меня с предыдущим вопросом - это то, что я использую Apache Tika.

Я ожидаю, что при запуске сценария JBoss standalone.sh будут видны в основном чистые журналы INFO. Однако я вижу огромную долю журналов трассировки стека, которые указывают на то, что у меня есть проблема с классом bean-компонента из-за зависимости jaxrs, поскольку я не являюсь @ Dependent.

1 Ответ

0 голосов
/ 17 марта 2019

Я думаю, что это проблема с зависимостью парсеров Tika в вашем 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>

У вас может быть оригинальный выпуск там

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...