2014-10-14 1 views
1

나는 tomcat 7 및 jdk 1.6을 사용하여 편안한 서비스를 개발 중입니다. json 처리에 대한 잭슨 2.4.2 사용하고 그것을 시도하고 개체 deserialise (그것은 문제가 직렬화하는) 때 제외하고 잘 작동합니다.jackson 2.4 deserialising 할 때 이전 클래스를 찾고

오류는 다음과 같습니다

잭슨 1.x에서 그 특정 클래스를 보관하는 장소입니다
java.lang.ClassNotFoundException: org.codehaus.jackson.JsonFactory 

. 내 잭슨 2.4.2에있다

com.fasterxml.jackson.core.JsonFactory 

나는 그것이 이전 클래스를 연결하려고하는 이유에 대해 잘 모른다. 나는 결코 잭슨 1.x를 사용하지 않았다.

은 내가 무엇을 사용 :

asm-3.3.1 
commons-io-2.4 
jackson-core-2.4.2 
jackson-databind-2.4.2 
jersey-bundle-1.18 
mysql-connector-java-5.1.27 

내가 GitHub의에서 촬영 한

com.fasterxml.jackson.annotation 

. 어떤 라이브러리가 구 잭슨 모듈을 가져 오려고 할 수 있습니까? 어떤 도움을 많이 주시면 감사하겠습니다.

답변

1

문제는 분명히 Jackson 1.x ObjectMapper을 사용하려고하고 1.x에 기본이없는 JsonFactory이 누락 된 경우에 발생합니다. 이것들은 차이점 항아리 (jackson-mapper-asl 대 jackson-core-asl)에서 나온 것이기 때문에 어떻게 든 하나가 빠져있을 가능성이 있습니다.

이제 잭슨 1.x를 직접 사용하지 않으므로 질문은 누가 무엇입니까? 아마 저지가 1.x에 의존하고 있습니까?

두 가지 관련 질문이 있습니다. (a) Jackson 1.x가 필요한 경우 핵심 병을 가져 오거나 (b) Jackson 1.x의 사용을 모두 제거하는 방법입니다.

2.x는 공존 할 수 있도록 특별히 설계되었으므로 기술적으로는 1.x 및 2.x 버전의 Jackson을 모두 사용할 수 있습니다. 이렇게하면 업그레이드가 쉬워지고 점진적 (구성 요소 별) 업그레이드가 가능합니다.

+0

내 이해에서 문제는 잭슨의 json 공급자 안에있는 것 같습니다. messagebodywriter는 오래된 수입품을 가지고있는 것처럼 보입니다. 난 아직도 그들을 사용하는 동안 문제의 근원으로 다른 항아리를 배제했다. xml을 여전히 사용하는 동안 –

+0

2.x에서 1.x 로의 어떤 의존성도 존재해서는 안되기 때문에 이상하다. 임포트가 어디에서 발생하는지 알아 내면 기꺼이 삭제할 수 있습니다. – StaxMan

+0

당분간 제 프로젝트에 jackson-mini-1.9 jar 파일을 추가 했으므로 이제이 파일로 작업 할 수 있습니다. 알아 내면 알려 드리겠습니다. 내 질문을 볼 시간을내어 주셔서 감사합니다. –

관련 문제