Skip to content

Conversation

@gogoleelee88
Copy link
Contributor

수정 내용 Summary

image
  • spring-modules-validation 의존성을 외부 아티팩트(org.springmodules:spring-modules-validation:0.8a)로 교체
  • 내부 spring-modules-validation 모듈 POM 구조를 루트 POM 상속 구조로 수정
  • org.springmodules.validation.commons.FieldChecks 클래스 누락 문제 해결
  • 전체 컴파일 및 테스트 정상 통과 확인

👉 RteFieldChecks.java 에서 FieldChecks 클래스를 상속할 수 없어 발생한 컴파일 오류를 해결했습니다.

수정 사유 Reason for modification

소스를 수정한 사유가 무엇인지 체크해 주세요. Please check the reason you modified the source. ([X] X는 대문자여야 합니다.)

  • 버그수정 Bug fixes
  • 기능개선 Enhancements
  • 기능추가 Adding features
  • 기타 Others

수정된 소스 내용 Modified source

검토자를 위해 수정된 소스 내용을 설명해 주세요. Please describe the modified source for reviewers.

JUnit 테스트 JUnit tests

테스트를 완료하셨으면 다음 항목에 [대문자X]로 표시해 주세요. When you're done testing, check the following items.

  • JUnit 테스트 JUnit tests
  • 수동 테스트 Manual testing

테스트 브라우저 Test Browser

테스트를 진행한 브라우저를 선택해 주세요. Please select the browser(s) you ran the test on. (다중 선택 가능 you can select multiple) [X] X는 대문자여야 합니다.

  • Chrome
  • Firefox
  • Edge
  • Safari
  • Opera
  • Internet Explorer
  • 기타 Others

테스트 스크린샷 또는 캡처 영상 Test screenshots or captured video

테스트 전과 후의 스크린샷 또는 캡처 영상을 이곳에 첨부해 주세요. Please attach screenshots or video captures of your before and after tests here.

- Updated spring-modules-validation dependency to use external org.springmodules:spring-modules-validation:0.8a artifact
- Fixed spring-modules-validation internal module POM structure to properly inherit from root POM
- Resolved missing org.springmodules.validation.commons.FieldChecks class error
- Verified compilation and tests pass successfully

Fixes compilation failure in RteFieldChecks.java caused by missing spring-modules-validation dependency.
The RteFieldChecks class extends FieldChecks from spring-modules-validation library for custom validation rules.
@yjj8353
Copy link

yjj8353 commented Oct 6, 2025

org.springmodules 보다는, 같은 서브 모듈에 존재하는 spring-modules-validation을 참조하면서 컴파일 오류가 발생하지 않도록 수정하는게 맞지 않을까 싶습니다.
egov에서 따로 spring-modules-validation을 관리하게 된 이유가 호환성 문제 때문으로 알고 있는데, 이것을 구버전으로 바꾸면 다른 문제가 발생할 것 같습니다.

@yjj8353
Copy link

yjj8353 commented Oct 9, 2025

오늘 확인해보니, org.egovframe.rte.ptl.mvc 뿐만 아니라 org.egovframe.rte.bat.core 쪽에서도 spring-modules-validation 참조 문제로 EgovParallelJobFunctionalTests 테스트가 정상적으로 동작하지 않는 문제가 있는 걸 확인했습니다.

다행인 점은, Maven Repository에 PavLab 리포지토리 쪽으로 동작과 호환성 문제가 없는 라이브러리가 존재하는 것 같습니다.
https://mvnrepository.com/artifact/org.springmodules/spring-modules-validation/0.9

<dependency>
    <groupId>org.springmodules</groupId>
    <artifactId>spring-modules-validation</artifactId>
    <version>0.9</version>
</dependency>

spring-module-validation을 해당 라이브러리로 교체하고, 헷갈리지 않도록 Presentation에 존재하는 spring-module-validation 서브 모듈을 제거하는 것이 어떨지 건의 드려봅니다.

@Clickin
Copy link

Clickin commented Oct 20, 2025

스프링 측에서는 spring modules validation을 유지보수할 의사가 없는 것으로 보이는데 spring-projects/spring-framework#21648
egovframe에서도 지원중단하거나 혹은 포크해서 직접 소스코드를 관리하는건 어떨까요?
혹은 내부적으로는 jakarta validator 기반으로 동작하도록 어댑터를 만드는 방안도 좋을 듯 합니다.

@yjj8353
Copy link

yjj8353 commented Oct 21, 2025

스프링 측에서는 spring modules validation을 유지보수할 의사가 없는 것으로 보이는데 spring-projects/spring-framework#21648

egovframe에서도 지원중단하거나 혹은 포크해서 직접 소스코드를 관리하는건 어떨까요?

혹은 내부적으로는 jakarta validator 기반으로 동작하도록 어댑터를 만드는 방안도 좋을 듯 합니다.

현재 egov 패키지 두 개에서 참조하고 있기 때문에 지원중단 하려면 import한 코드를 전부 마이그레이션이 필수고, spring validation 라이브러리는 별도의 리포지토리가 존재하지 않아 현재는 소스 코드를 찾을 수 없어서 직접 포크는 불가능합니다.
egov측에서 직접 관리하려면 기존의 라이브러리를 디컴파일러 해서 관리하는 방법이 있긴 할 것 같은데, 추후 더 좋은 방법이 있을지 고민해봐야 할 것 같습니다.

@Clickin
Copy link

Clickin commented Oct 21, 2025

스프링 측에서는 spring modules validation을 유지보수할 의사가 없는 것으로 보이는데 spring-projects/spring-framework#21648
egovframe에서도 지원중단하거나 혹은 포크해서 직접 소스코드를 관리하는건 어떨까요?
혹은 내부적으로는 jakarta validator 기반으로 동작하도록 어댑터를 만드는 방안도 좋을 듯 합니다.

현재 egov 패키지 두 개에서 참조하고 있기 때문에 지원중단 하려면 import한 코드를 전부 마이그레이션이 필수고, spring validation 라이브러리는 별도의 리포지토리가 존재하지 않아 현재는 소스 코드를 찾을 수 없어서 직접 포크는 불가능합니다. egov측에서 직접 관리하려면 기존의 라이브러리를 디컴파일러 해서 관리하는 방법이 있긴 할 것 같은데, 추후 더 좋은 방법이 있을지 고민해봐야 할 것 같습니다.

https://github.com/astubbs/spring-modules/tree/release-0_8/projects/validation 에서 0.8 버전의 소스코드 포크를 찾긴 했지만 아무래도 20년 가까이 이전의 프로젝트이다보니 이걸 egov에서 직접 유지보수하기는 어려울 듯 합니다.
jcl-over-slf4j 처럼 패키지명과 클래스명, 메소드 in/out을 일치시켜서 호환성을 확보하고 내부적으로는 다른 validator를 사용하는 방안을 좀 연구해보겠습니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants