2014-02-07 3 views
6

사용자 정의 enum 값을 사용하여 JSON을 반환하는 Wildfly 8에서 REST 서비스를 설정하려고합니다. Wildfy는 직렬화에 Jackson 2.3을 사용합니다. 또한 JaxbAnnotationModule을 Jackson ObjectMapper에 등록 할 때 serializer가 올바른 결과를 산출한다는 것도 알고 있습니다. 문제는이 모듈을 사용하기 위해 Wildfly 인스턴스 또는 웹 프로젝트를 구성하는 방법입니다.Wildfly에서 JaxbAnnotationModule 활성화

확인을 더 명확하게하기 위해 간단한 예입니다.

처음에는 제대로 작동하고 필요한 결과를 생성합니다.

@XmlEnum 
public enum TestEnum 
    @XmlEnumValue("2") 
    TWO; 
} 

public class Test { 
    public static void main(String[] args) { 

    ObjectMapper mapper = new ObjectMapper(); 
    JaxbAnnotationModule jaxbModule = new JaxbAnnotationModule(); 
    mapper.registerModule(jaxbModule); 
    try { 
     mapper.writeValue(System.out, TestEnum.TWO); 
    } catch (Exception e) { 
    } 
} 

이 올바른 출력을 생성합니다 : "2"

지금, 내 문제 서비스

@Path("test") 
@RequestScoped 
@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) 
public class TestRestService { 

    @GET 
    @Path("/json") 
    @Produces({MediaType.APPLICATION_JSON}) 
    public TestEnum testJson() { 
     return TestEnum.TWO; 
    } 
} 

이 내가 의도하지 않은 "2"를 반환합니다.

"jboss-deployment-structure.xml"또는 "web.xml"내에 아무것도 구성하지 않았습니다.

나는 pom.xml 솔루션이 나에게 방향을 알려주지 않고 나를 위해 작동하지 않도록 maven을 사용하지 않는다.

문서 here을 읽었지만 JaxbAnnotationModule을 활성화하는 옵션을 찾을 수 없습니다.

JSON 및 XML에서 작동하는 enum 값을 사용자 지정할 수있는 모든 기능이 절충됩니다.

----- UPDATE ----- 내가 그 솔루션이가를 만들어야합니다 JaxbAnnotationModule와 잭슨 매퍼를 사용하려고 사용하는 경우

가 이론적으로,이 솔루션은 이미 here

을 게시했습니다 올바른 출력.

<dependencies> 
    <module name="org.jboss.resteasy.resteasy-jackson2-provider" services="import" /> 
    <module name="com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider" /> 
</dependencies> 

내 시험 방법을 호출 내가 javax.xml에면 ClassNotFound 예외가 내 JBoss에 배포-structure.xml에서

@Provider 
@Produces(MediaType.APPLICATION_JSON) 
public class JacksonMapper implements MessageBodyWriter<Object> { 

    ObjectMapper mapper; 

    @PostConstruct 
    void init() { 
    mapper = new ObjectMapper(); 
    JaxbAnnotationModule jaxbModule = new JaxbAnnotationModule(); 
    // this is what is causing the current problem 
    mapper.registerModule(jaxbModule); 
    } 

    @Override 
    public boolean isWriteable(Class<?> aClass, Type type, 
     Annotation[] annotations, MediaType mediaType) { 
    return true; 
    } 

    @Override 
    public long getSize(Object object, Class<?> aClass, Type type, 
     Annotation[] annotations, MediaType mediaType) { 
    return 0; 
    } 

    @Override 
    public void writeTo(Object object, Class<?> aClass, Type type, 
     Annotation[] annotations, MediaType mediaType, 
     MultivaluedMap<String, Object> stringObjectMultivaluedMap, 
     OutputStream outputStream) throws IOException, 
     WebApplicationException { 
    mapper.writeValue(outputStream, object); 
    } 

} 

은 내가 필요한 모듈을 활성화 (또는 그래서 내가 생각). "com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider"을 포함하여 포함시켜야하는 bind.annotation.XmlElement는 "javax.ws.rs.api"에 따라 달라 지므로 "javax.xml.bind.api"을 포함하여 h는 누락 된 클래스를 포함합니다.

생성 된 jaxbModule을 매퍼에 등록하지 않으면 @XmlEnumValue 주석이 무시된다는 점을 제외하면 모두 잘 작동합니다. 나는 변화없이 동일한 출력을 얻는다.

제안 사항?

그것은 클래스가 참조되어 있어야합니다 비록 here를 설명한대로 모듈 설명 께서 수동으로 업데이트 할 것을 밝혀 :

10:30:10,958 INFO [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) JBAS015003: Found TestRest.war in deployment directory. To trigger deployment create a file called TestRest.war.dodeploy 
10:30:11,012 INFO [org.jboss.as.server.deployment] (MSC service thread 1-5) JBAS015876: Starting deployment of "TestRest.war" (runtime-name: "TestRest.war") 
10:30:12,464 INFO [org.jboss.weld.deployer] (MSC service thread 1-5) JBAS016002: Processing weld deployment TestRest.war 
10:30:12,648 INFO [org.hibernate.validator.internal.util.Version] (MSC service thread 1-5) HV000001: Hibernate Validator 5.0.2.Final 
10:30:12,906 INFO [org.jboss.weld.deployer] (MSC service thread 1-6) JBAS016005: Starting Services for CDI deployment: TestRest.war 
10:30:12,948 INFO [org.jboss.weld.Version] (MSC service thread 1-6) WELD-000900: 2.1.1 (Final) 
10:30:13,004 INFO [org.jboss.weld.deployer] (MSC service thread 1-5) JBAS016008: Starting weld service for deployment TestRest.war 
10:30:14,832 INFO [org.jboss.resteasy.spi.ResteasyDeployment] (MSC service thread 1-2) Deploying javax.ws.rs.core.Application: class com.test.rest.JaxRsActivator$Proxy$_$$_WeldClientProxy 
10:30:14,923 INFO [org.wildfly.extension.undertow] (MSC service thread 1-2) JBAS017534: Register web context: /TestRest 
10:30:15,028 INFO [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS018559: Deployed "TestRest.war" (runtime-name : "TestRest.war") 
10:30:55,359 WARN [org.jboss.resteasy.core.ExceptionHandler] (default task-1) Unknown exception while executing GET /test/json: org.jboss.weld.exceptions.WeldException: WELD-000049: Unable to invoke private void com.test.utility.JacksonMapper.init() on [email protected] 
    at org.jboss.weld.injection.producer.DefaultLifecycleCallbackInvoker.invokeMethods(DefaultLifecycleCallbackInvoker.java:91) [weld-core-impl-2.1.1.Final.jar:2013-12-03 09:59] 
    at org.jboss.weld.injection.producer.DefaultLifecycleCallbackInvoker.postConstruct(DefaultLifecycleCallbackInvoker.java:72) [weld-core-impl-2.1.1.Final.jar:2013-12-03 09:59] 
    at org.jboss.weld.injection.producer.BasicInjectionTarget.postConstruct(BasicInjectionTarget.java:95) [weld-core-impl-2.1.1.Final.jar:2013-12-03 09:59] 
    at org.jboss.weld.injection.producer.BeanInjectionTarget.postConstruct(BeanInjectionTarget.java:63) [weld-core-impl-2.1.1.Final.jar:2013-12-03 09:59] 
    at org.jboss.resteasy.cdi.JaxrsInjectionTarget.postConstruct(JaxrsInjectionTarget.java:59) [resteasy-cdi-3.0.6.Final.jar:] 
    at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:153) [weld-core-impl-2.1.1.Final.jar:2013-12-03 09:59] 
    at org.jboss.weld.context.AbstractContext.get(AbstractContext.java:94) [weld-core-impl-2.1.1.Final.jar:2013-12-03 09:59] 
    at org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:98) [weld-core-impl-2.1.1.Final.jar:2013-12-03 09:59] 
    at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:78) [weld-core-impl-2.1.1.Final.jar:2013-12-03 09:59] 
    at com.test.utility.JacksonMapper$Proxy$_$$_WeldClientProxy.isWriteable(Unknown Source) [classes:] 
    at org.jboss.resteasy.spi.ResteasyProviderFactory.resolveMessageBodyWriter(ResteasyProviderFactory.java:2118) [resteasy-jaxrs-3.0.6.Final.jar:] 
    at org.jboss.resteasy.spi.ResteasyProviderFactory.getMessageBodyWriter(ResteasyProviderFactory.java:2096) [resteasy-jaxrs-3.0.6.Final.jar:] 
    at org.jboss.resteasy.core.ServerResponseWriter.writeNomapResponse(ServerResponseWriter.java:62) [resteasy-jaxrs-3.0.6.Final.jar:] 
    at org.jboss.resteasy.core.SynchronousDispatcher.writeResponse(SynchronousDispatcher.java:427) [resteasy-jaxrs-3.0.6.Final.jar:] 
    at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:376) [resteasy-jaxrs-3.0.6.Final.jar:] 
    at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:179) [resteasy-jaxrs-3.0.6.Final.jar:] 
    at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:220) [resteasy-jaxrs-3.0.6.Final.jar:] 
    at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56) [resteasy-jaxrs-3.0.6.Final.jar:] 
    at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51) [resteasy-jaxrs-3.0.6.Final.jar:] 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) [jboss-servlet-api_3.1_spec-1.0.0.Final.jar:1.0.0.Final] 
    at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:87) [undertow-servlet-1.0.0.Beta30.jar:1.0.0.Beta30] 
    at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:61) [undertow-servlet-1.0.0.Beta30.jar:1.0.0.Beta30] 
    at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) [undertow-servlet-1.0.0.Beta30.jar:1.0.0.Beta30] 
    at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:70) 
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25) [undertow-core-1.0.0.Beta30.jar:1.0.0.Beta30] 
    at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:113) [undertow-servlet-1.0.0.Beta30.jar:1.0.0.Beta30] 
    at io.undertow.security.handlers.AuthenticationCallHandler.handleRequest(AuthenticationCallHandler.java:52) [undertow-core-1.0.0.Beta30.jar:1.0.0.Beta30] 
    at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:45) [undertow-core-1.0.0.Beta30.jar:1.0.0.Beta30] 
    at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:61) [undertow-servlet-1.0.0.Beta30.jar:1.0.0.Beta30] 
    at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:67) [undertow-servlet-1.0.0.Beta30.jar:1.0.0.Beta30] 
    at io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:70) [undertow-core-1.0.0.Beta30.jar:1.0.0.Beta30] 
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25) [undertow-core-1.0.0.Beta30.jar:1.0.0.Beta30] 
    at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61) 
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25) [undertow-core-1.0.0.Beta30.jar:1.0.0.Beta30] 
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25) [undertow-core-1.0.0.Beta30.jar:1.0.0.Beta30] 
    at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:240) [undertow-servlet-1.0.0.Beta30.jar:1.0.0.Beta30] 
    at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:227) [undertow-servlet-1.0.0.Beta30.jar:1.0.0.Beta30] 
    at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:73) [undertow-servlet-1.0.0.Beta30.jar:1.0.0.Beta30] 
    at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:146) [undertow-servlet-1.0.0.Beta30.jar:1.0.0.Beta30] 
    at io.undertow.server.Connectors.executeRootHandler(Connectors.java:164) [undertow-core-1.0.0.Beta30.jar:1.0.0.Beta30] 
    at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:654) [undertow-core-1.0.0.Beta30.jar:1.0.0.Beta30] 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.7.0_04] 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.7.0_04] 
    at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_04] 
Caused by: java.lang.reflect.InvocationTargetException 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_04] 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_04] 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_04] 
    at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_04] 
    at org.jboss.weld.injection.producer.DefaultLifecycleCallbackInvoker.invokeMethods(DefaultLifecycleCallbackInvoker.java:89) [weld-core-impl-2.1.1.Final.jar:2013-12-03 09:59] 
    ... 43 more 
Caused by: java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlElement 
    at com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector.<init>(JaxbAnnotationIntrospector.java:111) [jackson-module-jaxb-annotations-2.2.3.jar:] 
    at com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector.<init>(JaxbAnnotationIntrospector.java:98) [jackson-module-jaxb-annotations-2.2.3.jar:] 
    at com.fasterxml.jackson.module.jaxb.JaxbAnnotationModule.setupModule(JaxbAnnotationModule.java:57) [jackson-module-jaxb-annotations-2.2.3.jar:] 
    at com.fasterxml.jackson.databind.ObjectMapper.registerModule(ObjectMapper.java:524) [jackson-databind-2.2.3.jar:] 
    at com.test.utility.JacksonMapper.init(JacksonMapper.java:29) [classes:] 
    ... 48 more 
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlElement from [Module "com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider:main" from local module loader @722b302 (finder: local module finder @77164bf6 (roots: C:\jboss\wildfly-8.0.0.CR1\modules,C:\jboss\wildfly-8.0.0.CR1\modules\system\layers\base))] 
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:197) [jboss-modules.jar:1.3.0.Final] 
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:443) [jboss-modules.jar:1.3.0.Final] 
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:431) [jboss-modules.jar:1.3.0.Final] 
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:373) [jboss-modules.jar:1.3.0.Final] 
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:118) [jboss-modules.jar:1.3.0.Final] 
    ... 53 more 

10:30:55,371 ERROR [io.undertow.request] (default task-1) UT005023: Exception handling request to /TestRest/test/json: org.jboss.resteasy.spi.UnhandledException: org.jboss.weld.exceptions.WeldException: WELD-000049: Unable to invoke private void com.test.utility.JacksonMapper.init() on [email protected] 
    at org.jboss.resteasy.core.ExceptionHandler.handleException(ExceptionHandler.java:247) [resteasy-jaxrs-3.0.6.Final.jar:] 
    at org.jboss.resteasy.core.SynchronousDispatcher.writeException(SynchronousDispatcher.java:149) [resteasy-jaxrs-3.0.6.Final.jar:] 
    at org.jboss.resteasy.core.SynchronousDispatcher.writeResponse(SynchronousDispatcher.java:432) [resteasy-jaxrs-3.0.6.Final.jar:] 
    at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:376) [resteasy-jaxrs-3.0.6.Final.jar:] 
    at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:179) [resteasy-jaxrs-3.0.6.Final.jar:] 
    at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:220) [resteasy-jaxrs-3.0.6.Final.jar:] 
    at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56) [resteasy-jaxrs-3.0.6.Final.jar:] 
    at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51) [resteasy-jaxrs-3.0.6.Final.jar:] 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) [jboss-servlet-api_3.1_spec-1.0.0.Final.jar:1.0.0.Final] 
    at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:87) [undertow-servlet-1.0.0.Beta30.jar:1.0.0.Beta30] 
    at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:61) [undertow-servlet-1.0.0.Beta30.jar:1.0.0.Beta30] 
    at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) [undertow-servlet-1.0.0.Beta30.jar:1.0.0.Beta30] 
    at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:70) 
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25) [undertow-core-1.0.0.Beta30.jar:1.0.0.Beta30] 
    at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:113) [undertow-servlet-1.0.0.Beta30.jar:1.0.0.Beta30] 
    at io.undertow.security.handlers.AuthenticationCallHandler.handleRequest(AuthenticationCallHandler.java:52) [undertow-core-1.0.0.Beta30.jar:1.0.0.Beta30] 
    at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:45) [undertow-core-1.0.0.Beta30.jar:1.0.0.Beta30] 
    at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:61) [undertow-servlet-1.0.0.Beta30.jar:1.0.0.Beta30] 
    at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:67) [undertow-servlet-1.0.0.Beta30.jar:1.0.0.Beta30] 
    at io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:70) [undertow-core-1.0.0.Beta30.jar:1.0.0.Beta30] 
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25) [undertow-core-1.0.0.Beta30.jar:1.0.0.Beta30] 
    at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61) 
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25) [undertow-core-1.0.0.Beta30.jar:1.0.0.Beta30] 
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25) [undertow-core-1.0.0.Beta30.jar:1.0.0.Beta30] 
    at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:240) [undertow-servlet-1.0.0.Beta30.jar:1.0.0.Beta30] 
    at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:227) [undertow-servlet-1.0.0.Beta30.jar:1.0.0.Beta30] 
    at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:73) [undertow-servlet-1.0.0.Beta30.jar:1.0.0.Beta30] 
    at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:146) [undertow-servlet-1.0.0.Beta30.jar:1.0.0.Beta30] 
    at io.undertow.server.Connectors.executeRootHandler(Connectors.java:164) [undertow-core-1.0.0.Beta30.jar:1.0.0.Beta30] 
    at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:654) [undertow-core-1.0.0.Beta30.jar:1.0.0.Beta30] 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.7.0_04] 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.7.0_04] 
    at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_04] 
Caused by: org.jboss.weld.exceptions.WeldException: WELD-000049: Unable to invoke private void com.test.utility.JacksonMapper.init() on [email protected] 
    at org.jboss.weld.injection.producer.DefaultLifecycleCallbackInvoker.invokeMethods(DefaultLifecycleCallbackInvoker.java:91) [weld-core-impl-2.1.1.Final.jar:2013-12-03 09:59] 
    at org.jboss.weld.injection.producer.DefaultLifecycleCallbackInvoker.postConstruct(DefaultLifecycleCallbackInvoker.java:72) [weld-core-impl-2.1.1.Final.jar:2013-12-03 09:59] 
    at org.jboss.weld.injection.producer.BasicInjectionTarget.postConstruct(BasicInjectionTarget.java:95) [weld-core-impl-2.1.1.Final.jar:2013-12-03 09:59] 
    at org.jboss.weld.injection.producer.BeanInjectionTarget.postConstruct(BeanInjectionTarget.java:63) [weld-core-impl-2.1.1.Final.jar:2013-12-03 09:59] 
    at org.jboss.resteasy.cdi.JaxrsInjectionTarget.postConstruct(JaxrsInjectionTarget.java:59) [resteasy-cdi-3.0.6.Final.jar:] 
    at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:153) [weld-core-impl-2.1.1.Final.jar:2013-12-03 09:59] 
    at org.jboss.weld.context.AbstractContext.get(AbstractContext.java:94) [weld-core-impl-2.1.1.Final.jar:2013-12-03 09:59] 
    at org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:98) [weld-core-impl-2.1.1.Final.jar:2013-12-03 09:59] 
    at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:78) [weld-core-impl-2.1.1.Final.jar:2013-12-03 09:59] 
    at com.test.utility.JacksonMapper$Proxy$_$$_WeldClientProxy.isWriteable(Unknown Source) [classes:] 
    at org.jboss.resteasy.spi.ResteasyProviderFactory.resolveMessageBodyWriter(ResteasyProviderFactory.java:2118) [resteasy-jaxrs-3.0.6.Final.jar:] 
    at org.jboss.resteasy.spi.ResteasyProviderFactory.getMessageBodyWriter(ResteasyProviderFactory.java:2096) [resteasy-jaxrs-3.0.6.Final.jar:] 
    at org.jboss.resteasy.core.ServerResponseWriter.writeNomapResponse(ServerResponseWriter.java:62) [resteasy-jaxrs-3.0.6.Final.jar:] 
    at org.jboss.resteasy.core.SynchronousDispatcher.writeResponse(SynchronousDispatcher.java:427) [resteasy-jaxrs-3.0.6.Final.jar:] 
    ... 30 more 
Caused by: java.lang.reflect.InvocationTargetException 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_04] 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_04] 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_04] 
    at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_04] 
    at org.jboss.weld.injection.producer.DefaultLifecycleCallbackInvoker.invokeMethods(DefaultLifecycleCallbackInvoker.java:89) [weld-core-impl-2.1.1.Final.jar:2013-12-03 09:59] 
    ... 43 more 
Caused by: java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlElement 
    at com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector.<init>(JaxbAnnotationIntrospector.java:111) [jackson-module-jaxb-annotations-2.2.3.jar:] 
    at com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector.<init>(JaxbAnnotationIntrospector.java:98) [jackson-module-jaxb-annotations-2.2.3.jar:] 
    at com.fasterxml.jackson.module.jaxb.JaxbAnnotationModule.setupModule(JaxbAnnotationModule.java:57) [jackson-module-jaxb-annotations-2.2.3.jar:] 
    at com.fasterxml.jackson.databind.ObjectMapper.registerModule(ObjectMapper.java:524) [jackson-databind-2.2.3.jar:] 
    at com.test.utility.JacksonMapper.init(JacksonMapper.java:29) [classes:] 
    ... 48 more 
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlElement from [Module "com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider:main" from local module loader @722b302 (finder: local module finder @77164bf6 (roots: C:\jboss\wildfly-8.0.0.CR1\modules,C:\jboss\wildfly-8.0.0.CR1\modules\system\layers\base))] 
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:197) [jboss-modules.jar:1.3.0.Final] 
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:443) [jboss-modules.jar:1.3.0.Final] 
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:431) [jboss-modules.jar:1.3.0.Final] 
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:373) [jboss-modules.jar:1.3.0.Final] 
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:118) [jboss-modules.jar:1.3.0.Final] 
    ... 53 more 
+0

당신은 내가 현상금을 게시에 "대답" – xenoterracide

+0

등의 솔루션을 게시해야한다. –

답변

1

영업 이익은 자신의 솔루션을 기록했다.

해결책 : 업데이트 파일 : 제이보스 - 8.0.0.CR1 \ 모듈 \ 시스템 \ 층 \ 잭슨 \ jaxrs 잭슨-jaxrs-JSON-제공 \ \ 주 \ 모듈 \ 기본 \ COM \ fasterxml. 그 영업 이익은 A & A의 포인트를받을 수 있도록 XML

<module xmlns="urn:jboss:module:1.1" name="com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider"> 
    <resources> 
     <resource-root path="jackson-jaxrs-json-provider-2.2.3.jar"/> 
     <resource-root path="jackson-jaxrs-base-2.2.3.jar"/> 
     <resource-root path="jackson-module-jaxb-annotations-2.2.3.jar"/> 
    </resources> 

    <dependencies> 
     <module name="javax.api"/> 
     <module name="javax.ws.rs.api"/> 
     <!-- Add this line --> 
     <module name="javax.xml.bind.api" /> 

     <module name="com.fasterxml.jackson.core.jackson-annotations"/> 
     <module name="com.fasterxml.jackson.core.jackson-core"/> 
     <module name="com.fasterxml.jackson.core.jackson-databind"/> 
    </dependencies> 
</module>