기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Java 변환 문제 해결
다음 정보는 Amazon Q Developer로 Java 애플리케이션을 변환할 때 발생하는 일반적인 문제를 해결하는 데 도움이 될 수 있습니다.
주제
Amazon Q가 프로젝트를 업로드할 수 없는 이유는 무엇입니까?
프로젝트가 업로드되지 않는 경우 다음 문제 중 하나 때문일 수 있습니다. Amazon Q에서 표시되는 오류에 해당하는 항목을 참조하세요.
프로젝트 크기 축소
코드를 변환하기 위해 Amazon Q는 소스 코드, 프로젝트 종속성 및 빌드 로그가 포함된 프로젝트 아티팩트를 생성합니다. 변환 작업의 최대 프로젝트 아티팩트 크기는 2GB입니다. 프로젝트 아티팩트 크기와 관련된 오류가 발생하는 경우 프로젝트 크기를 줄이거나 더 작은 프로젝트를 변환해야 합니다. 코드 변환 로그에서 프로젝트 아티팩트 파일의 크기를 볼 수 있습니다. 자세한 내용은 코드 변환 로그에 액세스하려면 어떻게 해야 합니까? 단원을 참조하세요.
IDE에서 프록시 설정 구성
코드를 변환하기 위해 Amazon Q는 프로젝트 아티팩트를 서비스 소유 Amazon S3 버킷에 업로드합니다. 업로드 프로세스의 일환으로 SSL 또는 TLS 인증서를 사용하여 Amazon S3와 IDE 간의 통신을 설정합니다. 프록시 서버를 사용하는 경우 프록시 서버에서 사용하는 SSL 또는 TLS 인증서를 신뢰할 수 있어야 합니다. 그렇지 않으면 Amazon Q가 프로젝트를 업로드할 수 없습니다.
프록시 또는 인증서와 관련된 오류가 발생하는 경우 인증서를 신뢰하거나 다른 프록시 설정을 업데이트하도록 IDE 또는 운영 체제를 구성해야 할 수 있습니다.
참고
조직의 프록시 서버 또는 방화벽 뒤에 있는 경우 인증서와 관련이 없는 문제가 발생할 수도 있습니다. 인증서를 구성하기 위해 다음 절차를 완료했지만 여전히 문제가 있는 경우 네트워크 관리자에게 문의하여 IDE에서 Amazon S3와 통신할 수 있는지 확인합니다. 자세한 내용은 Amazon S3에 액세스 허용 단원을 참조하십시오.
JetBrains에서 인증서 구성
프록시 서버에서 사용하는 SSL 또는 TLS 인증서를 신뢰하도록 JetBrains IDE Java 런타임 환경(JRE)을 구성하려면 SSL 또는 TLS 인증서를 JRE의 cacerts
파일로 가져와야 합니다. cacerts
파일은 HTTPS 및 SSL과 같은 보안 연결을 위한 신뢰할 수 있는 루트 인증서가 포함된 파일이며 JRE의 보안 설정의 일부입니다. 인증서를 가져오려면 다음 절차를 완료합니다.
참고
실수로 인해 보안 연결에 문제가 발생할 수 있으므로 cacerts
파일을 수정하기 전에 백업하는 것이 좋습니다.
-
JRE의
cacerts
파일의 경로를 결정합니다. JetBrains IDE와 함께 제공된 내부 JRE의cacerts
파일 경로는 운영 체제와 사용 중인 JetBrains IDE 버전에 따라 달라집니다.다음은 공통 운영 체제의
cacerts
파일 경로의 예입니다. 운영 체제를 선택하여 예시를 확인하세요.참고
<JetBrains Installation Folder>
는 JetBrains 제품이 설치된 디렉터리를 참조합니다. 이 디렉터리는 일반적으로 설치 프로세스 중에 선택됩니다.jbr
폴더는 JetBrains IDE와 함께 사용하도록 조정된 JRE의 특정 버전인 JetBrains IDE와 함께 번들링된 JRE를 나타냅니다. -
cacerts
파일로 가져와야 하는 인증서를 결정합니다. 인증서 파일에는 일반적으로.cer
,.crt
또는.der
파일 확장자가 있습니다. 추가해야 할 인증서가 확실하지 않은 경우 네트워크 관리자에게 문의하세요. -
인증서를
cacerts
키 스토어로 가져옵니다. Javakeytool
명령을 사용하여 수행할 수 있습니다.-
명령 프롬프트를 열고 다음 명령을 입력합니다.
keytool -import -alias <alias> -file <certificate_file> -keystore <path_to_cacerts>
-
<alias>
의 경우 나중에 참조하도록 가져오려는 인증서의 이름을 추가할 수 있습니다. 이 옵션은 선택 사항입니다. -
<certificate_file>
의 경우 가져오려는 인증서의 경로를 지정합니다. 인증서가 포함된.cer
,.crt
또는.der
파일의 경로여야 합니다. -
<path_to_cacerts>
에는 1단계에서 저장한cacerts
키 스토어 파일의 경로를 지정합니다. 이는 인증서를 가져오는 파일입니다.
예를 들어
my_certificate.cer
이라는 인증서를 Windows의 IntelliJ IDEA에서 번들링된 JRE의cacerts
키 스토어로 가져오고 인증서에 별칭myalias
를 지정하려는 경우, 명령은 다음과 같을 수 있습니다.keytool -import -alias myalias -file my_certificate.cer -keystore "C:\Program Files\JetBrains\IntelliJ IDEA 2022.3.2\jbr\bin\cacerts"
-
-
가져오기 프로세스 중에 키 스토어 암호를 입력하라는 메시지가 표시됩니다.
cacerts
키 스토어의 기본 암호는changeit
입니다. -
명령을 실행한 후 인증서를 신뢰하라는 메시지가 표시됩니다. 인증서가 신뢰할 수 있는지 확인하고 가져오기를 완료하려면
yes
를 입력합니다. -
JRE 외에도 IDE 자체에 인증서를 추가해야 할 수도 있습니다. 자세한 내용은 JetBrains 설명서에서 서버 인증서
를 참조하세요.
Visual Studio Code에서 인증서 구성
프록시 서버에서 사용하는 SSL 또는 TLS 인증서를 신뢰하도록 Visual Studio Code를 구성하려면 운영 체제에 대해 다음 프록시 설정을 구성했는지 확인합니다.
macOS의 Visual Studio Code에 대한 다음 프록시 설정을 구성합니다.
macOS 키체인에 인증서 추가
아직 사용하지 않은 경우 프록시 서버에서 사용하는 인증서를 macOS 키체인에 추가해야 합니다. 키체인에 인증서를 추가하는 방법에 대한 자세한 내용은 키체인 액세스 사용 설명서의 Mac에서 키체인 액세스를 사용하여 키체인에 인증서 추가
Mac CA VSCode 확장 설치
Mac CA VSCode 확장
확장을 설치하려면 다음을 수행하세요.
-
VS Code 확장 창에서
mac-ca-vscode
를 검색하고 설치를 선택합니다. -
VS Code을 다시 시작합니다.
macOS의 VS Code에서 프록시 설정 업데이트
다음 설정을 업데이트하여 VS Code가 프록시에 맞게 올바르게 구성되었는지 확인합니다.
-
VS Code에서 설정을 엽니다.
-
검색줄에
proxy
를 입력합니다. -
Http: Proxy 필드에 프록시 URL을 추가합니다.
-
Http: Proxy Strict SSL의 선택을 취소합니다.
-
Http: Proxy Support 드롭다운 목록에서 on을 선택합니다.
-
설정 검색창에
http.experimental.systemCertificatesV2
를 입력합니다. Http › Experimental: 시스템 인증서 V2를 선택합니다.
Windows의 Visual Studio Code에 대한 다음 프록시 설정을 구성합니다.
Windows에서 신뢰할 수 있는 루트 인증서로 인증서 추가
아직 사용하지 않은 경우 프록시 서버에서 사용하는 인증서를 Windows의 신뢰할 수 있는 루트 인증 기관 스토어에 추가해야 합니다. 인증서를 추가하려면 다음 절차를 완료합니다.
-
검색 도구 또는 실행 명령 창을 엽니다.
-
다음을 입력하여 인증서 관리자 도구를 엽니다.
certmgr.msc
-
신뢰할 수 있는 루트 인증 기관 스토어를 선택합니다.
-
인증서를 마우스 오른쪽 버튼으로 클릭하고 모든 작업을 선택한 다음 가져오기...를 선택합니다.
-
제공된 지침에 따라 프록시 인증서를 가져옵니다.
-
인증서를 가져온 후 인증서가 추가되었는지 확인합니다.
신뢰할 수 있는 루트 인증 기관 스토어에서 인증서를 두 번 클릭합니다. 추가한 인증서를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택합니다. 인증서 목적에서 이 인증서의 모든 목적 활성화 옵션을 선택해야 합니다.
Win-CA VSCode 확장 설치
Win-CA VSCode 확장
확장을 설치하려면 다음을 수행하세요.
-
VS Code 설정 창에서
win-ca
를 검색합니다. -
삽입 드롭다운 목록에서 추가를 선택합니다.
Windows의 VS Code에서 프록시 설정 업데이트
다음 설정을 업데이트하여 VS Code가 프록시에 맞게 올바르게 구성되었는지 확인합니다.
-
VS Code에서 설정을 엽니다.
-
검색줄에
proxy
를 입력합니다. -
Http: Proxy 필드에 프록시 URL을 추가합니다.
-
Http: Proxy Strict SSL의 선택을 취소합니다.
-
Http: Proxy Support 드롭다운 목록에서 on을 선택합니다.
-
설정 검색창에
http.experimental.systemCertificatesV2
를 입력합니다. Http › Experimental: 시스템 인증서 V2를 선택합니다. -
VS Code을 다시 시작합니다.
Amazon S3에 액세스 허용
변환 중에 Amazon Q는 서비스 소유 Amazon S3 버킷에 코드를 업로드합니다. 네트워크 또는 조직이 Amazon S3에 대한 액세스를 구성하지 않은 경우 Amazon Q는 프로젝트를 업로드할 수 없습니다.
Amazon Q가 프로젝트를 업로드할 수 있도록 하려면 Amazon S3에 대한 액세스를 허용하도록 프록시 구성 및 데이터 손실 방지(DLP) 정책과 같은 기타 네트워크 구성 요소가 구성되어 있는지 확인합니다. Amazon Q가 프로젝트를 업로드하는 Amazon S3 버킷을 허용해야 할 수도 있습니다. 자세한 내용은 Amazon Q 리소스의 데이터 경계 단원을 참조하십시오.
대규모 프로젝트를 변환하면 DLP 정책 또는 기타 네트워크 구성 요소가 Amazon S3 버킷을 허용하도록 구성되지 않은 경우 지연이 발생하여 업로드가 성공하지 못할 수 있습니다. 버킷을 허용 목록에 추가하지 않도록 선택하는 경우 Amazon Q가 업로드할 수 있도록 더 작은 프로젝트를 변환해야 할 수 있습니다.
Maven 명령이 실패하는 이유는 무엇입니까?
다음은 JetBrains 및 Visual Studio Code IDE에서 볼 수 있는 Maven 구성 문제입니다. 문제를 해결했는데 여전히 Maven 오류가 표시되는 경우 프로젝트에 문제가 있을 수 있습니다. 오류 로그의 정보를 사용하여 프로젝트의 문제를 해결한 다음 프로젝트를 다시 변환합니다.
JetBrains에서 Maven 구성 업데이트
Maven 명령 문제로 인해 JetBrains에서의 변환이 실패하면 실행 탭에 오류 로그가 표시됩니다. 로그의 정보를 사용하여 문제를 해결합니다. 다음은 해결해야 할 몇 가지 문제입니다.
-
Maven 홈 경로가 번들링됨으로 설정되어 있는지 확인합니다. 설정으로 이동한 다음 빌드, 실행, 배포 섹션을 확장합니다. 빌드 도구 섹션을 확장한 다음 Maven을 확장합니다. Maven 홈 경로 드롭다운 목록에서 번들링됨을 선택합니다.
-
Java 런타임 환경(JRE)이 프로젝트 JDK를 사용하고 있는지 확인합니다. 설정으로 이동한 다음 빌드, 실행, 배포 섹션을 확장합니다. Maven을 확장하고 실행기를 선택합니다. JRE 드롭다운 목록에서 프로젝트 JDK 사용을 선택합니다.
-
Maven이 활성화되어 있는지 확인합니다. 설정으로 이동하여 플러그인을 선택합니다. Maven을 검색하고 Maven 플러그인을 선택합니다. 활성화 버튼이 표시되면 선택하여 Maven을 활성화합니다.
Visual Studio Code에서 Maven 구성 업데이트
Maven 명령 문제로 인해 VS Code에서의 변환이 실패하면 오류 로그가 포함된 텍스트 파일이 새 탭에서 열립니다. 로그의 정보를 사용하여 문제를 해결합니다.
다음 옵션 중 하나를 구성했는지 확인합니다.
-
프로젝트에는 프로젝트 루트 폴더의 Maven 래퍼가 포함되어 있습니다.
-
Amazon Q에서 지원하는 Maven 버전은
PATH
에서 사용할 수 있습니다.
자세한 내용은 내 PATH에 Maven을 추가하려면 어떻게 해야 합니까? 단원을 참조하세요.
내 PATH
에 Maven을 추가하려면 어떻게 해야 합니까?
Maven 래퍼를 사용하지 않고 VS Code에서 코드를 변환하려면 Maven을 설치하고 PATH
변수에 추가해야 합니다.
이미 Maven을 올바르게 설치했는지 확인하려면 Visual Studio Code 외부의 새 OS 터미널에서 mvn -v
를 실행합니다. Maven 버전과 함께 출력이 표시됩니다.
Visual Studio Code 터미널에서 출력을 얻지만 OS 터미널에서는 출력을 얻지 못하거나 명령을 찾을 수 없는 경우 PATH
에 Maven을 추가해야 합니다.
Maven을 PATH
에 추가하려면 시스템의 지침을 따릅니다.
Amazon Q가 코드를 빌드할 수 없는 이유는 무엇입니까?
Amazon Q가 코드를 빌드할 때 변환이 실패하는 경우 Amazon Q가 코드를 빌드하는 환경에 맞게 프로젝트가 제대로 구성되지 않을 수 있습니다. 빌드 구성 또는 코드 구현을 업데이트해야 할 수 있습니다.
Amazon Q에서 제공하는 빌드 로그 출력을 검토하여 프로젝트에 변경할 수 있는 사항이 있는지 확인합니다. 다음은 Amazon Q가 코드를 빌드하지 못하게 할 수 있는 몇 가지 일반적인 문제입니다.
pom.xml에서 절대 경로 제거
pom.xml 파일에 절대 경로가 있는 경우 Amazon Q는 관련 파일을 찾을 수 없으므로 코드를 빌드하지 못할 수 있습니다.
다음은 pom.xml
파일에 있을 수 있는 절대 경로의 예입니다.
<toolspath> <path>/Library/Java/JavaVirtualMachines/jdk-11.0.11.jdk/Contents/Home/lib/tools.jar</path> </toolspath>
절대 경로를 사용하는 대신 포인터를 사용하여 상대 경로를 생성할 수 있습니다. 다음은 이전 절대 경로를 상대 경로로 대체하는 방법의 예입니다.
<toolspath> <path>${java.home}/../lib/tools.jar</path> </toolspath>
유닛 테스트에서 로컬 또는 외부 데이터베이스 제거
Amazon Q는 코드를 빌드할 때 프로젝트의 모든 유닛 테스트를 실행합니다. 유닛 테스트가 로컬 또는 외부 데이터베이스를 호출하는 경우 Amazon Q는 데이터베이스에 액세스할 수 없으므로 빌드가 실패합니다. 빌드가 실패하지 않도록 하려면 변환을 제출하기 전에 유닛 테스트에서 데이터베이스 호출을 제거하거나 유닛 테스트를 제거해야 합니다.
55분 후에 변환이 실패한 이유는 무엇인가요?
55분 후에 코드 변환 작업이 실패하는 경우 코드 빌드 시간이 빌드 시간 제한을 초과할 수 있습니다. 현재 코드를 빌드하는 데 걸리는 시간은 55분입니다.
로컬 빌드 시간이 55분 이상 걸리는 경우 코드를 변환하는 데 걸리는 프로젝트의 빌드 시간을 줄입니다. 로컬 빌드가 코드 변환을 사용한 빌드보다 빠른 경우 프로젝트에서 실패할 수 있는 작업을 확인하거나 다른 환경에서 더 오랜 시간이 걸릴 수 있습니다. 장기 실행 테스트 사례를 비활성화하는 것이 좋습니다. 또한 보안 IDE 환경 또는 인터넷에서 사용할 수 없는 리소스에 액세스하려는 시도에는 제한 시간을 사용하는 것도 좋습니다.
변환된 코드를 다운로드할 수 없는 이유는 무엇입니까?
변환이 완료된 후 코드를 다운로드할 수 없는 경우 다음 문제 중 하나 때문일 수 있습니다. Amazon Q에서 표시되는 오류에 해당하는 항목을 참조하세요.
프로젝트 크기 축소
변환이 완료되면 Amazon Q는 업그레이드된 코드와의 차이와 변경 사항에 대한 정보가 포함된 변환 요약이 포함된 출력 아티팩트를 생성합니다. IDE가 출력 아티팩트를 다운로드하려면 출력 아티팩트가 1GB 이하여야 합니다.
출력 아티팩트가 한도를 초과하는 경우 업그레이드된 코드 또는 변환 요약을 다운로드할 수 없습니다. 큰 출력 아티팩트를 방지하기 위해 작은 프로젝트를 변환해 보세요. 문제가 지속되면에 문의하십시오 지원. Amazon Q 지원 와의 연락에 대한 자세한 내용은 섹션을 참조하세요Amazon Q Developer를 사용하여 채팅 지원.
24시간 이내에 코드 diff 다운로드
업그레이드된 코드가 포함된 코드 diff 파일은 변환이 완료된 후 24시간 동안만 사용할 수 있습니다. 변환이 완료된 후 24시간이 지난 경우 변환을 다시 시작하여 diff 파일을 다운로드합니다.
IDE에서 프록시 설정 구성
Amazon Q는 서비스 소유 Amazon S3 버킷에서 업그레이드된 코드를 다운로드합니다. 다운로드 프로세스의 일환으로 SSL 또는 TLS 인증서를 사용하여 Amazon S3와 IDE 간의 통신을 설정합니다. 프록시 서버를 사용하는 경우 프록시 서버에서 사용하는 SSL 또는 TLS 인증서를 신뢰할 수 있어야 합니다. 그렇지 않으면 Amazon Q가 프로젝트를 업로드할 수 없습니다.
코드를 다운로드하려면 인증서를 신뢰하거나 다른 프록시 설정을 업데이트하도록 IDE를 구성해야 할 수 있습니다. 프록시 설정 업데이트에 대한 자세한 내용은 IDE에서 프록시 설정 구성 섹션을 참조하세요.
JetBrains 프록시 설정에서 와일드카드 문자 제거
JetBrains IDE에서 프록시 설정을 구성한 경우 업그레이드된 코드를 다운로드할 때 다음 오류가 표시될 수 있습니다.
software.amazon.awssdk.core.exception.SdkClientException: Unable to execute HTTP request: Dangling meta character '*' near index 0
이는 IDE 프록시 설정의 프록시 없음 필드에 와일드카드 문자(*)가 존재하기 때문일 수 있습니다. Amazon Q에서 사용하는 Java SDK는이 필드의 와일드카드 항목을 지원하지 않습니다.
코드를 다운로드하려면 프록시 없음 필드에서 와일드카드를 제거한 다음 IDE를 다시 시작합니다. 프록시를 우회해야 하는 호스트를 지정해야 하는 경우 와일드카드 대신 정규식을 사용합니다. JetBrains IDE에서 프록시 설정을 업데이트하려면 JetBrains 설명서의 HTTP 프록시
코드 변환 로그에 액세스하려면 어떻게 해야 합니까?
JetBrains의 로그에 액세스
JetBrains 로그 파일에 액세스하는 방법에 대한 자세한 내용은 JetBrains 설명서의 IDE 로그 파일 찾기
에서 Amazon Q가 내보낸 로그를 찾으려면 IDE 로그에서 다음 문자열을 JetBrains검색합니다.
software.aws.toolkits.jetbrains.services.codemodernizer
코드 변환 로그는 이전 문자열로 시작합니다. Maven에서 생성된 로그는 실행 탭에 표시되며 로그 항목 앞뒤에 이전 문자열이 있습니다.
Visual Studio Code의 로그에 액세스
에서 Amazon Q가 내보낸 로그를 찾으려면 다음 단계를 VS Code완료합니다.
-
상단 탐색 모음에서 보기를 선택한 다음 명령 팔레트를 선택합니다.
-
나타나는 명령 팔레트에서
Amazon Q: View Logs
를 검색합니다. -
로그는 IDE에서 열립니다.
CodeTransformation
에 대한 로그 파일을 검색하려면CMD + F
또는Control + F
를 사용합니다.
VS Code의 코드 변환 로그에는 CodeTransformation:
접두사가 붙습니다. 다음은 Maven 복사 종속성 오류에 대해 VS Code에서 생성된 로그의 예입니다.
2024-02-12 11:29:16 [ERROR]: CodeTransformation: Error in running Maven copy-dependencies command mvn = /bin/sh: mvn: command not found
변환 작업 ID는 어떻게 찾을 수 있나요?
JetBrains에서 작업 ID 찾기
JetBrains에서 변환 작업 ID를 찾으려면 변환 허브의 변환 세부 정보 탭으로 이동하여 작업 상태 표시(시계) 아이콘을 선택합니다.
Visual Studio Code에서 작업 ID 찾기
VS 코드에서 변환 작업 ID를 찾으려면 변환 허브로 이동하여 작업 상태 표시(시계) 아이콘을 선택합니다.