Tomcat9에서 사용하던 war파일 Tomcat10에서 배포하기 (Gaucamole 1.6.0)
Java EE가 Eclipse 재단으로 이관되면서 Tomcat 10.0 버전부터 패키지 네임스페이스가 javax.* → jakarta.* 로 바뀌었습니다.
Guacamole 1.6.0은 javax.* 기반이라 Tomcat10(Jakarta)와 바로 호환되지 않습니다.
이럴때 두가지 해결책이 있습니다.
- Tomcat 9 사용하기
- 변환 도구를 이용해 war파일 패키지를 변환하기
여기에서는 변환 도구를 이용한 방법으로 Guacamole-1.6.0 파일을 변환해보겠습니다.
* jakartaee-migration-1.0.9-shaded.jar : 의존성까지 포함된 단일 실행 jar
1. 변환 받기
예시로 Guacamole-1.6.0.war 파일과 변환 도구를 다운로드 합니다.
# wget -O guacamole-1.6.0.war https://apache.org/dyn/closer.lua/guacamole/1.6.0/binary/guacamole-1.6.0.war?action=download
# curl -OL https://repo1.maven.org/maven2/org/apache/tomcat/jakartaee-migration/1.0.9/jakartaee-migration-1.0.9-shaded.jar
2. war 변환
형식) java -jar {변환 도구} {입력 파일} {출력 파일}
# java -jar jakartaee-migration-1.0.9-shaded.jar guacamole-1.6.0.war guacamole.war
3. 배포
# systemctl stop tomcat10
# rm -rf /var/lib/tomcat10/webapps/guacamole* # 동일한 패키지명을 사용중이라면 삭제 (필요시 백업하세요)
# cp -arp guacamole.war /var/lib/tomcat10/webapps/
# systemctl start tomcat10
4. 확인
# curl -I http://{서버IP}:8080/guacamole/
* 참고
변환 도구는 javax.* → jakarta.* 치환을 해주지만, 서드파티 라이브러리 호환성 때문에 100% 보장되진 않습니다.
Guacamole 1.6.0은 공식적으로 Tomcat 9(서블릿 4/javax.*)을 권장합니다. 가능하면 Tomcat 9 사용이 가장 안정적입니다.
서명 검증이 필요하면 .asc로 PGP 검증을 하거나, 최소한 sha1/md5 해시를 확인하세요.
'리눅스 > OS 일반' 카테고리의 다른 글
watchdog 설정으로 시스템 다운시 재부팅하기 (0) | 2025.06.11 |
---|---|
Ubuntu 24.04 에서 RTX5080 드라이버 설치하기 (0) | 2025.04.11 |
RockyLinux 9 에서 root 원격접속 허용하기 (0) | 2025.03.14 |
Ubuntu 24.04 APT 저장소 및 키 초기화 하기 (0) | 2025.02.19 |
빈글 (0) | 2024.11.01 |