이 문서에서는 JDK 런타임 업그레이드를 요구하지 않고 GitHub Copilot 앱 현대화를 사용하여 Java 프레임워크 또는 타사 종속성을 업그레이드하는 방법을 보여줍니다.
프레임워크 업그레이드 시작
이러한 유형의 업그레이드를 시작하려면 에이전트 모드에서 프롬프트를 시작할 수 있습니다. 다음은 그 예입니다.
upgrade this Java project to Spring Boot 3.2
호환성 관리
현재 JDK 버전이 지정된 Spring Boot 버전(예: Spring Boot 3.2의 경우 JDK 17 이상)과 호환되는 경우 도구는 프레임워크 전용 업그레이드를 수행합니다. 원본 및 대상 JDK 버전은 모두 동일하게 유지되며 대상 Spring Boot 버전은 초기 프롬프트에 따라 설정됩니다.
현재 JDK 버전이 대상 프레임워크 버전과 호환되지 않는 경우(예: JDK 8에서 Spring Boot 3.2로 업그레이드할 때) 도구는 프레임워크 업그레이드를 수행하는 것 외에도 JDK를 프레임워크에 필요한 최소 지원 버전(이 경우 JDK 17)으로 자동으로 업그레이드합니다.
타사 라이브러리 업그레이드
유사한 프롬프트를 사용하여 타사 라이브러리를 업그레이드할 수도 있습니다. 다음은 그 예입니다.
use the java upgrade tools to upgrade "com.google.inject.guice" to 6.0.0 in this java project
특정 타사 라이브러리(예 Upgrade com.google.inject.guide to version 3.17.0 : GitHub Copilot)를 업그레이드하라는 프롬프트를 시작하면 GitHub Copilot는 현재 프로젝트를 분석하고 요청된 종속성 업데이트에만 초점을 맞춘 업그레이드 계획을 생성합니다.
업그레이드 중에 Copilot가 수행하는 작업
이 프로세스의 일부로 Copilot는 다음 작업을 수행할 수 있습니다.
- 새 라이브러리 버전과의 호환성을 보장하기 위해 코드 또는 구성 파일을 수정합니다.
- 빌드 유효성 검사를 수행하여 프로젝트가 성공적으로 컴파일되었는지 확인합니다.
- CVE 검사를 실행하여 보안 문제를 감지하고 표시합니다.
- 테스트 유효성 검사를 실행하여 새 테스트 오류가 발생하지 않도록 합니다.
이 대상 업그레이드 흐름을 사용하면 투명성과 제어를 통해 종속성을 현대화할 수 있습니다.