2017-05-08 7 views
0

Java에서 REST 응용 프로그램을 개발 중이며 WildFly 8에서 WebService를 실행할 때이 오류가 항상 나타납니다. 이미 인터넷을 검색했지만 성공하지 못했습니다.wildfly를 실행하는 중 오류가 발생했습니다.

ERROR : 용접-000071 : 관리 빈 클래스 org.apache.cxf.jaxrs.provider.SourceProvider는 @Dependent

의 Web.xml을해야합니다

<?xml version="1.0" encoding="utf-8"?> 
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" 
version="2.4"> 
<display-name>ProjetoRefImplWS</display-name> 
<description>ProjetoRefImplWS</description> 
<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>classpath:beans.xml</param-value> 
</context-param> 
<listener> 
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
</listener> 
<servlet-mapping> 
    <servlet-name>Services</servlet-name> 
    <url-pattern>/*</url-pattern> 
</servlet-mapping> 
<servlet> 
    <servlet-name>Services</servlet-name> 
    <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class> 
</servlet> 

의 pom.xml

<dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-web</artifactId> 
     <version>3.2.13.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.cxf</groupId> 
     <artifactId>cxf-rt-frontend-jaxrs</artifactId> 
     <version>3.1.1</version> 
     <exclusions> 
      <exclusion> 
       <groupId>org.apache.geronimo.specs</groupId> 
       <artifactId>geronimo-javamail_1.4_spec</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 
    <dependency> 
     <groupId>com.fasterxml.jackson.jaxrs</groupId> 
     <artifactId>jackson-jaxrs-json-provider</artifactId> 
     <version>2.8.1</version> 
    </dependency> 
    <dependency> 
     <groupId>io.swagger</groupId> 
     <artifactId>swagger-jaxrs</artifactId> 
     <version>1.5.6</version> 
    </dependency> 

에로 :

11:33:17,704 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-8) MSC000001: Failed to start service jboss.deployment.unit."ProjetoRefImplWs-0.0.1-SNAPSHOT.war".WeldStartService: org.jboss.msc.service.StartException in service jboss.deployment.unit."ProjetoRefImplWs-0.0.1-SNAPSHOT.war".WeldStartService: Failed to start service at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1904) [jboss-msc-1.2.2.Final.jar:1.2.2.Final] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_102] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_102] at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_102] Caused by: org.jboss.weld.exceptions.DefinitionException: WELD-000071: Managed bean class org.apache.cxf.jaxrs.provider.SourceProvider must be @Dependent at org.jboss.weld.bean.ManagedBean.checkType(ManagedBean.java:198) at org.jboss.weld.bean.AbstractBean.initializeAfterBeanDiscovery(AbstractBean.java:105) at org.jboss.weld.bean.ManagedBean.initializeAfterBeanDiscovery(ManagedBean.java:113) at org.jboss.weld.bootstrap.ConcurrentBeanDeployer$AfterBeanDiscoveryInitializerFactory.doWork(ConcurrentBeanDeployer.java:136) at org.jboss.weld.bootstrap.ConcurrentBeanDeployer$AfterBeanDiscoveryInitializerFactory.doWork(ConcurrentBeanDeployer.java:127) at org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:60) at org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:53) at java.util.concurrent.FutureTask.run(FutureTask.java:266) [rt.jar:1.8.0_102] ... 3 more

+0

당신은 DI 프레임 워크로 Spring을 사용하도록 애플리케이션을 구성했지만 WELD도 의존성 주입을 시도하고 있습니까? –

+0

나는 당신이 여기 같은 문제를 경험하고 있다고 생각한다 : http://stackoverflow.com/a/34418949/424903. 아마도 내 대답 (여기에 링크 된)도이 문제를 해결할 것입니다. 또는 Wildfly의 최신 버전으로 업그레이 드하면 아마도 사라질 것입니다. 그러나 당신은 아마도 업그레이드를위한 예산이 아닌 이유로 Wildfly 8에 남아있을 것입니다. – Gimby

답변

0

당신은 아래의 다음 한 응용 프로그램에서 확인하십시오 beans.xml 환경 파일을 만들 수 있습니다 :

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd" 
     bean-discovery-mode="annotated"> 
</beans> 

확인 콩을 발견 모드 속성을. 가능한 다른 값은 'none'과 'all'입니다.

+0

감사합니다. 저에게 맞습니다. – Lau13