[트러블슈팅/SpringBoot] Nexacro 연동 시 발생한 의존성 문제

2026. 6. 12. 00:00·트러블슈팅

SpringBoot 3와 Nexacro N을 연동하여 transaction 통신을 구현하던 중 서버 실행 및 통신 과정에서 여러 오류가 순차적으로 발생했다.

개발 환경

  • Java 17
  • SpringBoot 3.2.5
  • MyBatis 3.0.3
  • Nexacro N
  • gradle

 

🎯문제1 - javax.servlet.ServletOutputStream

필요한 코드를 작성하고 SpringBoot 프로젝트를 실행했는데 아래와 같은 오류 발생

Caused by: java.lang.NoClassDefFoundError: javax/servlet/ServletOutputStream

 

원인

프로젝트에 사용하기 위해 다운받았던 Nexacro uiadapter 라이브러리가 Spring Boot 2.x 환경용(javax.servlet 기반)이었기 때문

현재 개발 환경은 SpringBoot3이기 때문에 javax 패키지를 찾을 수 없어 'NoClassDefFoundError'가 발생한 것

 

해결

아래 링크에서 버전에 맞는 라이브러리 다운

https://mangosteen.tobesoft.co.kr/nexus/#browse/browse:maven-public

 

Nexus Repository Manager

 

mangosteen.tobesoft.co.kr

 

com/nexacro 폴더로 이동하여 필요한 라이브러리의 jakarta 버전 다운로드

 

다운 받고 싶은 파일의 버전을 확인하고, 해당 jar 파일 링크를 클릭하면 다운 받을 수 있음

 

다운 받은 파일을 프로젝트 폴더에 삽입

(Nexacro 라이브러리는 gradle을 통해 다운 받을 수 없기 때문에 직접 라이브러리 파일들을 넣어줘야 함)

 

🎯문제2 - jakarta.servlet.jsp.JspWriter

위 오류는 해결 됐으나 아래와 같이 추가 오류가 발생함

java.lang.ClassNotFoundException: jakarta.servlet.jsp.JspWriter

 

원인

Nexacro XAPI가 응답 데이터를 생성하는 과정에서 JSP API를 참조함. 아래 위치에서 오류 발생

com.nexacro.java.xapi.tx.HttpPlatformResponse.sendData()

Controller 실행 -> 에러 발생 -> NexacroView가 에러 응답 생성 -> XAPI가 응답을 XML/SSV로 변환 -> JspWriter 클래스를 찾으려 함 -> 없음 -> 실패

 

Spring Boot 3는 JSP 관련 라이브러리를 기본 제공하지 않기 때문에 ClassNotFoundException 에러가 발생한 것

 

해결

build.gradle에 JSP 의존성 추가

implementation 'jakarta.servlet.jsp:jakarta.servlet.jsp-api:3.1.1'

 

🎯문제3 - org.apache.commons.lang.StringUtils

이어서 아래 오류 발생

ClassNotFoundException: org.apache.commons.lang.StringUtils

 

원인

Nexacro XAPI가 개발되었을 때엔 'org.apache.commons.lang.StringUtils'를 많이 사용했다고 한다

다만 Apache에서 commons-lang을 commons-lang3로 변경하면서, 구버전 의존성을 가진 nexacro와 충돌이 일어난 것

 

해결

gradle 의존성 추가

implementation 'commons-lang:commons-lang:2.6'

 

결과

데이터가 잘 불러와지는 것을 확인할 수 있음

저작자표시 (새창열림)

'트러블슈팅' 카테고리의 다른 글

[트러블슈팅/SpringBoot] Nexacro Dataset 인식 안 됨  (0) 2026.06.13
[트러블슈팅/SpringBoot] 415 오류: Content-Type 'application/octet-stream' is not supported  (0) 2026.05.19
[트러블슈팅/SpringBoot] WebMvcTest로 Controller 테스트 시 JwtUtil 인식 안 됨  (1) 2026.03.11
[트러블슈팅/SpringBoot] Builder 필드 초기값 누락  (0) 2026.01.22
[트러블슈팅/GitHub] 원격저장소 - 로컬저장소 기록(history) 병합  (0) 2026.01.17
'트러블슈팅' 카테고리의 다른 글
  • [트러블슈팅/SpringBoot] Nexacro Dataset 인식 안 됨
  • [트러블슈팅/SpringBoot] 415 오류: Content-Type 'application/octet-stream' is not supported
  • [트러블슈팅/SpringBoot] WebMvcTest로 Controller 테스트 시 JwtUtil 인식 안 됨
  • [트러블슈팅/SpringBoot] Builder 필드 초기값 누락
naahy
naahy
  • naahy
    종합장
    naahy
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Java
      • SpringBoot
      • Git
      • 트러블슈팅
      • Vue.js
      • Kotlin
      • Node.js
      • 코딩테스트
        • 백준
        • 프로그래머스
      • 스터디
        • CS
        • 알고리즘
      • -
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 인기 글

  • 태그

    이분탐색
    트러블슈팅
    SpringBoot
    github
    백준
    API
    Nexacro
    bfs
    투포인터
    React
    mongodb
    백트래킹
    node.js
    코틀린
    프로그래머스
    자바
    Java
    브루트포스
    cs
    Kotlin
  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
naahy
[트러블슈팅/SpringBoot] Nexacro 연동 시 발생한 의존성 문제
상단으로

티스토리툴바