Application Servers & Java

WFLYSRV0059 – Class-Path 참조가 유효하지 않음

midworker 2025. 5. 21. 22:41
반응형

WildFly 또는 JBoss 서버에 애플리케이션을 배포할 때 다음과 같은 경고가 발생할 수 있습니다.


경고 메시지

WFLYSRV0059: Class Path entry derbyLocale_cs.jar in /app/path/to/yourApp/WEB-INF/lib/derby.jar 
does not point to a valid jar for a Class-Path reference.

경고 의미

이 메시지는 derby.jar 파일의 MANIFEST.MF 내부에 선언된 다음 항목이 문제라는 뜻입니다:

Class-Path: derbyLocale_cs.jar

그러나 실제로 WEB-INF/lib 내에 derbyLocale_cs.jar가 존재하지 않기 때문에,
서버가 해당 참조를 무시하며 경고를 출력한 것입니다.


주요 원인

원인 설명
참조된 JAR이 실제 WEB-INF/lib에 없음 derbyLocale_cs.jar가 누락됨
외부 라이브러리의 내부 설정 문제 log4j-core, derby 등 일부 라이브러리에서 자동 설정
JAR 간 의존성 불일치 전체 라이브러리가 누락되어 종속 관계 깨짐

해결 방법

1. 누락된 JAR 파일 확인 및 추가

  • WEB-INF/lib 디렉토리에 derbyLocale_cs.jar가 실제 존재하는지 확인
  • 없다면 해당 파일을 포함하거나 MANIFEST.MF에서 참조 제거

2. JAR 내 MANIFEST.MF에서 Class-Path 수정

jar xf derby.jar META-INF/MANIFEST.MF
# MANIFEST.MF에서 Class-Path 항목 제거 후
jar ufm derby.jar META-INF/MANIFEST.MF

⚠️ 수정 시에는 체크섬이나 JAR 무결성 오류가 발생할 수 있으므로 사전에 백업 권장


3. Maven 또는 Gradle 의존성 관리 권장

예: Maven에서 불필요한 의존성 제외

<exclusions>
  <exclusion>
    <groupId>*</groupId>
    <artifactId>derbyLocale_cs</artifactId>
  </exclusion>
</exclusions>

결론

이 경고는 MANIFEST.MF에 명시된 Class-Path 경로가 실제로 존재하지 않을 때 발생합니다.
JAR 내부 참조를 명확히 정리하고, 배포 시 종속성 일관성을 유지하는 것이 중요합니다.


반응형