참고 항목
이 문서는 Java 버전 7.x 에 대한 차세대 Azure Migrate 애플리케이션 및 코드 평가를 위한 것입니다. 이 버전은 미리 보기로 제공됩니다. 이전의 안정적인 버전인 버전 6.x는 Java에 대한 Azure Migrate 애플리케이션 및 코드 평가를 참조하세요.
이 문서에서는 Java용 Azure Migrate 애플리케이션 및 코드 평가 도구를 사용하여 모든 유형의 Java 애플리케이션을 평가하고 다시 배치하는 방법을 보여 줍니다. 이 도구를 사용하면 플랫폼을 변경하고 Azure로 마이그레이션하기 위한 애플리케이션 준비 상태를 평가할 수 있습니다. 이 도구는 CLI(명령줄 인터페이스)로 제공되며, Java 애플리케이션 이진 파일 및 소스 코드를 평가하여 Azure에 대한 재배치 및 마이그레이션 기회를 식별합니다. 일반적인 사용 사례와 코드 패턴을 식별하고 권장 변경 내용을 제안함으로써 대규모 Java 애플리케이션을 현대화하고 플랫폼을 변경하는 데 도움이 됩니다.
이 도구는 정적 코드 분석을 통해 애플리케이션 기술 사용을 검색하고, 노력을 예측하고, 코드 재배치를 가속화합니다. 이 평가를 통해 Java 애플리케이션의 우선 순위를 지정하고 Azure로 이동할 수 있습니다. 이 도구는 일련의 엔진 및 규칙을 사용하여 Java 11, Java 17, Jakarta EE, Spring, Hibernate, JMS(Java Message Service) 등과 같은 다양한 기술을 검색하고 평가할 수 있습니다. 그런 다음 이 도구를 사용하면 특정 Azure 다시 배포 규칙을 사용하여 Java 애플리케이션을 Azure 앱 Service, Azure Kubernetes Service 및 Azure Container Apps와 같은 다른 Azure 대상으로 다시 배치할 수 있습니다.
이 도구는 Red Hat에서 만들고 이끄는 클라우드 네이티브 컴퓨팅 재단 프로젝트 Konveyor의 구성 요소 집합을 기반으로 합니다.
개요
이 도구는 조직이 비용을 절감하고 더 빠른 혁신을 가능하게 하는 방식으로 Java 애플리케이션을 현대화하는 데 도움을 주기 위해 설계되었습니다. 이 도구는 고급 분석 기술을 사용하여 Java 애플리케이션의 구조와 종속성을 이해하고 애플리케이션을 리팩터링하고 Azure로 마이그레이션하는 방법에 대한 지침을 제공합니다.
이를 통해 다음 작업을 수행할 수 있습니다.
- 기술 사용 검색: 애플리케이션이 사용하는 기술을 빠르게 확인합니다. 설명서가 많지 않은 레거시 애플리케이션이 있고 해당 애플리케이션이 사용하는 기술을 알고 싶은 경우 검색이 유용합니다.
- 특정 대상에 대한 코드 평가: 특정 Azure 대상에 대한 애플리케이션을 평가합니다. 애플리케이션을 Azure로 다시 플랫폼화하기 위해 수행해야 하는 활동과 수정 사항을 확인합니다.
지원되는 대상
이 도구에는 다양한 Azure 서비스에 배포하고 사용할 수 있도록 애플리케이션을 다시 플랫폼화하는 데 도움이 되는 규칙이 포함되어 있습니다.
Azure Migrate 애플리케이션 및 코드 평가에서 사용하는 규칙은 대상에 따라 그룹화됩니다. 대상은 애플리케이션이 실행되는 위치와 방법, 일반적인 요구 사항 및 예상 결과치입니다. 애플리케이션을 평가할 때 여러 대상을 선택할 수 있습니다. 다음 표에는 사용 가능한 대상이 설명되어 있습니다.
| 대상 이름 | 설명 | 대상 |
|---|---|---|
| Azure App Service | Azure App Service에 앱을 배포하기 위한 모범 사례입니다. | azure-appservice |
| Azure Kubernetes Service | Azure Kubernetes Service에 앱을 배포하기 위한 모범 사례입니다. | azure-aks |
| Azure Container Apps (Azure 컨테이너 애플리케이션) | Azure Container Apps에 앱을 배포하기 위한 모범 사례입니다. | azure-container-apps |
| 클라우드 준비 상태. | 애플리케이션 클라우드(Azure)를 준비하기 위한 일반적인 모범 사례입니다. | cloud-readiness |
| 리눅스 | 애플리케이션 Linux를 준비하기 위한 일반적인 모범 사례입니다. | linux |
| OpenJDK 11 | Java 11로 Java 8 애플리케이션을 실행하기 위한 일반적인 모범 사례입니다. | openjdk11 |
| OpenJDK 17 | Java 17을 사용하여 Java 11 애플리케이션을 실행하기 위한 일반적인 모범 사례입니다. | openjdk17 |
| OpenJDK 21 | Java 21로 Java 17 애플리케이션을 실행하기 위한 일반적인 모범 사례입니다. | openjdk21 |
도구가 클라우드 준비성 및 관련 Azure 서비스를 평가할 때 다양한 Azure 서비스의 잠재적 사용량에 대한 유용한 정보도 보고할 수 있습니다. 다음 목록에는 적용되는 몇 가지 서비스가 나열되어 있습니다.
- Azure 데이터베이스
- Azure Service Bus (아주르 서비스 버스)
- Azure Storage
- Azure Content Delivery Network
- Azure Event Hubs
- Azure Key Vault (애저 키 볼트)
- Azure Front Door (Azure의 웹 트래픽 관리 서비스)
다운로드 및 설치
CLI를 appcat 사용하려면 사용자 환경과 관련된 패키지를 다운로드하고 사용자 환경에 필요한 종속성이 있어야 합니다. CLI는 appcat Intel, Arm 또는 Apple 실리콘 하드웨어를 사용하여 Windows, Linux 또는 Mac과 같은 모든 환경에서 실행됩니다. JDK 요구 사항의 경우 Microsoft Build of OpenJDK를 사용하는 것이 좋습니다.
| 운영 체제 | 아키텍처 | 다운로드 링크 | 기타 파일 |
|---|---|---|---|
| x64 | |||
| 윈도우즈 | X64 | 다운로드 | sha256 / 시그마 |
| macOS | X64 | 다운로드 | sha256 / 시그마 |
| 리눅스 | X64 | 다운로드 | sha256 / 시그마 |
| AArch64 | |||
| 윈도우즈 | AArch64 / ARM64 | 다운로드 | sha256 / 시그마 |
| macOS | Apple Silicon | 다운로드 | sha256 / 시그마 |
| 리눅스 | AArch64 / ARM64 | 다운로드 | sha256 / 시그마 |
필수 조건
-
Microsoft Build of OpenJDK 17을 다운로드하여 설치합니다. 환경 변수가
JAVA_HOME설정되어 있는지 확인합니다.
AppCAT 설치
설치 appcat하려면 플랫폼에 적합한 zip 파일을 다운로드합니다. 파일을 다운로드한 후 운영 체제에 따라 .tar.gz (Linux/macOS) 또는 .zip 파일(Windows)을 찾아야 합니다.
다운로드한 파일에서 이진 파일을 추출합니다. 다음과 같은 폴더 구조가 표시됩니다.
/azure-migrate-appcat-for-java-cli-<OS>-<architecture>-<release-version>-preview/
├── appcat.exe (Windows) / appcat (Linux/macOS)
├── samples/
├── fernflower.jar
├── LICENSE
├── NOTICE.txt
├── maven.default.index
├── jdtls/
├── static-report/
├── rulesets/
├── readme.md
└── readme.html
AppCAT 실행
원하는 위치에 압축 파일을 추출한 후, 터미널의 모든 위치에서 appcat을 실행할 수 있습니다. 그런 다음 보관 파일을 추출한 디렉터리를 포함하도록 PATH 환경 변수를 업데이트하십시오.
참고 항목
이진 파일이 appcat 호출되면 먼저 환경 변수에 지정된 실행 파일 폴더에서 PATH 해당 종속성을 찾습니다. 종속성을 찾지 못하면 Linux/Mac에서는 사용자의 홈 디렉터리인 ~/.appcat 또는 Windows에서는 %USERPROFILE%\.appcat으로 기본값으로 되돌아갑니다.
사용
하위 명령
AppCAT은 다음 두 가지 하위 명령을 사용합니다.
-
analyze: 입력 소스 코드 또는 이진 파일에 대한 소스 코드 분석을 실행합니다. -
transform: XML 규칙을 이전 버전(6 이상)에서 이 버전에서 사용하는 YAML 형식으로 변환합니다.
참고 항목
macOS 사용자의 경우: 앱을 실행하려고 할 때 오류가 Apple could not verify 발생하면 다음 명령을 사용하여 이 오류를 해결할 수 있습니다.
xattr -d -r com.apple.quarantine /path/to/appcat_binary
예시:
xattr -d -r com.apple.quarantine $HOME/.appcat/appcat
하위 명령 분석
analyze 하위 명령을 사용하면 소스 코드 및 이진 분석을 실행할 수 있습니다.
애플리케이션 소스 코드를 분석하려면 다음 명령을 사용합니다.
./appcat analyze --input=<path-to-source-code> --output=<path-to-output-directory> --target=azure-appservice,cloud-readiness --overwrite
플래그는 --input 소스 코드 디렉터리 또는 이진 파일을 --output 가리킨 다음 분석 결과를 저장할 디렉터리를 가리킵니다.
분석 플래그에 대한 자세한 내용은 다음 명령을 사용합니다.
./appcat analyze --help
AppCAT에 사용 가능한 대상을 확인하려면 다음 명령을 사용합니다.
./appcat analyze --list-targets
이 명령에서 생성되는 출력은 다음과 같습니다.
available target technologies:
azure-aks
azure-appservice
azure-container-apps
cloud-readiness
linux
openjdk11
openjdk17
openjdk21
여러 애플리케이션 분석
AppCAT은 명령 실행당 여러 애플리케이션 분석을 지원합니다. 플래그에 대해 --input 쉼표로 구분된 입력 경로 목록을 제공하여 단일 명령으로 여러 애플리케이션을 분석할 수 있습니다. 출력 디렉터리 및 정적 보고서에는 모든 애플리케이션에 대한 결합된 분석 결과가 포함됩니다.
여러 애플리케이션을 분석하려면 다음 명령을 사용합니다.
./appcat analyze --input=<path-to-source-A>,<path-to-source-B>,<path-to-source-C> --output=<path-to-output-ABC> --target=<target-name>
또한 AppCAT을 사용하면 기존 출력 디렉터리 및 정적 보고서에 애플리케이션 분석을 증분 방식으로 추가하는 옵션을 사용할 --bulk 수 있습니다. 이 옵션을 사용하는 경우 동일한 출력에 --bulk 쓰는 모든 명령 실행에서 일관되게 사용해야 합니다.
참고 항목
여러 입력 경로를 --bulk 제공하는 경우 기본적으로 사용하도록 설정됩니다.
기존 정적 보고서에 애플리케이션 분석을 증분 방식으로 추가하려면 다음 명령을 사용합니다.
./appcat analyze --input=<path-to-source-A>,<path-to-source-B>,<path-to-source-C> --output=<path-to-output-ABC> --target=<target-name>
./appcat analyze --bulk --input=<path-to-source-D> --output=<path-to-output-ABC> --target=<target-name>
./appcat analyze --bulk --input=<path-to-source-E> --output=<path-to-output-ABC> --target=<target-name>
하위 명령 변환
transform 하위 명령을 사용하면 6.x 버전에 사용된 이전 appcat XML 규칙을 이 버전 7.x에서 사용하는 새 YAML 형식으로 변환할 수 있습니다.
규칙을 변환하려면 다음 명령을 사용합니다.
./appcat transform rules --input=<path-to-xml-rules> --output=<path-to-output-directory>
플래그는 --input XML 규칙이 포함된 파일 또는 디렉터리를 가리키고 플래그는 --output 변환된 YAML 규칙에 대한 출력 디렉터리를 가리킵니다.
샘플
참고 항목
추출된 폴더의 스크립트에 대한 파일 권한이 실행을 허용하도록 설정되어 있는지 확인합니다.
샘플 디렉터리에서 다양한 유형의 분석을 실행하는 다음 스크립트를 찾을 수 있습니다.
- 실행 평가: Tomcat에서 Airsonic을 Azure App Service로 마이그레이션하기 위한 코드 평가 및 단계가 포함된 보고서를 제공합니다.
- run-assessment-transform-rules: Windup XML 규칙을 분석기-lsp 호환 YAML 규칙으로 변환합니다.
- run-assessment-custom-rules: 사용자 지정 규칙을 사용하여 코드 평가 보고서를 제공합니다(XML을 YAML로 변환).
- run-assessment-openjdk21: Airsonic을 OpenJDK 21로 마이그레이션하기 위한 코드 평가 및 단계가 포함된 보고서를 생성합니다.
- run-assessment-package-only: 특정 패키지를 평가하여 보고서를 생성합니다.
이러한 스크립트는 음악 컬렉션에 액세스하고 공유할 수 있는 커뮤니티 기반 웹 기반 미디어 스트리머인 Airsonic-Advanced 샘플 프로젝트와 함께 사용됩니다.
다음 명령을 사용하여 애플리케이션 리포지토리를 수동으로 복제할 수 있습니다.
git clone https://github.com/airsonic-advanced/airsonic-advanced.git
복제한 후 평가 스크립트를 실행할 때 복제된 폴더의 경로를 제공합니다. 운영 체제에 따라 다음 예제와 같이 적절한 스크립트를 실행합니다.
참고 항목
스크립트를 실행하기 전에 Airsonic Advanced 프로젝트를 로컬 경로에 복제했는지 확인합니다.
./samples/run-assessment <path-to-airsonic-advanced>
보고서는 자동으로 생성되고 시작됩니다. .에서 보고서를 찾을 수 있습니다 . /samples/report-* (Linux/macOS) 또는 .. \samples\report-* (Windows).
분석 요약
보고서의 방문 페이지에는 분석된 모든 애플리케이션에 대한 요약 보기가 표시됩니다. 여기에서 개별 애플리케이션 보고서로 이동하여 자세한 결과를 탐색할 수 있습니다.
오른쪽 위 모서리에 있는 Copilot 요청 단추는 Visual Studio Code의 Java용 GitHub Copilot 앱 현대화 확장으로 리디렉션됩니다. 이 확장은 AppCAT 및 GitHub Copilot의 AI 기능을 통해 Java 애플리케이션을 Azure로 마이그레이션하기 위한 주요 기능으로 앱 평가 및 코드 수정을 모두 제공합니다.
평가 도구
평가 보고서는 애플리케이션을 Azure로 성공적으로 마이그레이션하기 위해 해결해야 하는 Azure 준비 상태, 클라우드 네이티브 및 Java 현대화의 다양한 측면에 대한 분류된 문제 목록을 제공합니다.
각 문제는 심각도( 필수, 선택 사항 또는 잠재적 )로 분류되며 영향을 받는 코드 줄 수를 포함합니다.
종속성 및 기술 탭에는 애플리케이션 내에서 사용되는 라이브러리 및 기술이 표시됩니다.
특정 문제에 대한 자세한 정보
각 문제에 대해 더 많은 정보(문제 세부 정보, 규칙 내용 등)를 선택하기만 하면 됩니다. 또한 이 문제의 영향을 받는 모든 파일의 목록을 가져옵니다.
그런 다음 문제의 영향을 받는 각 파일 또는 클래스에 대해 소스 코드로 이동하여 문제를 만든 코드 줄을 강조 표시할 수 있습니다.
릴리스 정보
7.6.0.7
이 릴리스에는 다음과 같은 수정 사항 및 향상된 기능이 포함되어 있습니다.
- Gradle 기반 Spring 앱을 분석하도록 지원합니다.
- Open Liberty 프로젝트 분석 지원.
- 평가 중에 처리된 규칙 수를 표시하여 평가 진행률을 표시합니다.
- 필수 구성 요소에서 Maven을 제거했습니다.
- 릴리스된 아티팩트에서
airsonic.war가airsonic-advanced로 샘플 애플리케이션이 대체되었습니다.
7.6.0.6
이 릴리스에는 다음과 같은 수정 사항 및 향상된 기능이 포함되어 있습니다.
- 이제 기본 .appcat-ignore 파일이 기본적으로 릴리스 패키지에 포함됩니다. 이 파일을 사용하면 도구에서 분석할 필요가 없는 지정된 폴더 또는 경로를 제외합니다.
-
full모드(--mode으로 지정됨)를 사용할 때 보고서에서 종속성이 누락되는 문제를 해결했습니다. - 대상이 지정되지 않았을 때, AppCAT 지원 대상에 대한 범위 분석을 수행합니다.
- 분석하는 동안 주석 줄이 무시되었습니다.
- XML 규칙의 잘못된 위치가 수정되었습니다.
7.6.0.5
이 릴리스에는 다음과 같은 수정 사항 및 향상된 기능이 포함되어 있습니다.
- 이제 플래그는
--input여러 값을 허용하므로 단일 명령 실행에서 여러 애플리케이션을 분석할 수 있습니다. - 정적 보고서는 가독성을 높이기 위해 문제 목록을 분류합니다.
- 이제 사용자는 사용자의 홈 디렉터리가 아닌 디렉터리에 AppCAT을 설치할 수 있습니다.
-
analyze를--bulk와--skip-static-report두 가지를 함께 실행할 때 여러 출력 파일을 생성하지 못하는 문제를 수정했습니다. - Java 공급자가 시작되지 않았을 때
--bulk와--rules을 사용하여 분석할 때의 오류를 해결했습니다. - 플래그를 사용할 때 지정된 패키지를 찾을 수 없는 경우 분석이 실패하는
--packages문제를 해결했습니다. - 플래그는
--exclude-paths더 이상 사용되지 않습니다. 파일 또는 디렉터리를 제외하려면 입력 디렉터리 또는 설치 디렉터리에 배치된 .appcat-ignore 파일( glob 패턴 지원)을 사용합니다.
7.6.0.4
이 릴리스에는 다음과 같은 수정 사항 및 향상된 기능이 포함되어 있습니다.
- 원격 분석 수집을 지원합니다. 플래그를
--disable-telemetry사용하여 원격 분석을 사용하지 않도록 설정합니다. - 명확하게 하기 위해 CLI 명령 형식을 다시 입력합니다.
- 플래그를 업데이트하여
--source플래그를--source <source1> --source <source2> ...에서--source <source1>,<source2>,...로 변경합니다. - 플래그를 업데이트하여
--target플래그를--target <target1> --target <target2> ...에서--target <target1>,<target2>,...로 변경합니다. - 플래그를 업데이트하여
--rules플래그를--rules <rule1> --rules <rule2> ...에서--rules <rule1>,<rule2>,...로 변경합니다. -
--maven-settings플래그를--custom-maven-settings로 업데이트합니다. -
--limit-code-snips플래그를--code-snips-number로 업데이트합니다. -
--json-output플래그를 제거하고,--output-format플래그를 사용하며, 출력 형식으로 'yaml' 또는 'json'을 선택합니다. [기본 yaml] -
--provider,--override-provider-settings,--list-providers및--dependency-folders플래그를 제거합니다.
- 플래그를 업데이트하여
- 새
--exclude-paths플래그: 분석에서 무시해야 하는 경로를 지정합니다. 여러 값--exclude-paths <path1>,<path2>,...에 대해 쉼표로 구분된 목록을 사용합니다. 기본값은[]입니다. - 새
--packages플래그: 평가할 애플리케이션 클래스 패키지를 지정합니다. 여러 값--packages <package1>,<package2>,...에 대해 쉼표로 구분된 목록을 사용합니다. 기본값은[]입니다. - 새
--dry-run플래그: 실제로 분석을 실행하지 않고 플래그가 유효한지 여부만 확인합니다. 기본값은false입니다. - appcat
azure-spring-apps에서 제거합니다--list-targets.
7.6.0.3
이 릴리스에는 다음과 같은 수정 사항 및 향상된 기능이 포함되어 있습니다.
- 새
--limit-code-snips플래그: 규칙 평가 중 코드 스니펫 제한을 제어합니다 (0=무제한, -1=스니펫 비활성화). - 대량 분석 모드에서 누락된 종속성 파일 오류를 해결했습니다. 이 도구는 Java가 아닌 프로젝트 또는 Java 프로젝트를 사용하는
--mode=source-only대량 분석 중에 더 이상 중단되지 않습니다.
7.6.0.2
이 릴리스에는 다음 수정 사항이 포함되어 있습니다.
-
java-removals-00150이제 규칙이 올바르게 트리거됩니다.
7.6.0.1
이 릴리스에는 다음과 같은 수정 사항 및 향상된 기능이 포함되어 있습니다.
-
--analyze-known-libraries플래그: 이제 Windows에서 작동합니다. - 디렉터리 정리: Windows에서 분석하는 동안 생성된 추가 디렉터리가 이제 자동으로 정리됩니다.
-
--json-output플래그: 이제 작동합니다. - 규칙 구문 분석 오류:
unable to parse all the rules for ruleset오류가 해결되었습니다. - 인사이트 탭 설명: 이제 누락된 규칙 설명이 있습니다.
- 인터넷 연결 종속성: 인터넷 연결 없이 분석이 더 이상 실패하지 않습니다.
-
--context-lines플래그: 이제 0으로 설정하면 예상대로 동작합니다. - 도구를 실행하기 위한 Python 요구 사항이 제거되었습니다.
7.6.0.0
이 릴리스는 Konveyor 프로젝트의 다른 구성 요소 집합을 기반으로 합니다.
일반 업데이트
- Konveyor Kantra 프로젝트를 기반으로 하는 CLI가 있는 Konveyor Analyzer LSP 프로젝트를 기반으로 하는 새로운 엔진입니다.
6.3.9.0
이 릴리스에는 다음 수정 사항이 포함되어 있으며 새 규칙 집합이 포함되어 있습니다.
일반 업데이트
- Windup 업스트림 리포지토리의 통합 변경 내용(6.3.9.최종 릴리스).
- 규칙 설명 및 도움말 텍스트에서 끊어진 링크가 해결되었습니다.
규칙
- Azure 메시지 큐: 업데이트 및 에 대한
azure-message-queue-rabbitmqazure-message-queue-amqp새 규칙 추가 - Azure Service Bus: Azure Service Bus에 대한 검색 규칙을 도입했습니다.
- MySQL 및 PostgreSQL: 향상된 종속성 검색 규칙
- Azure-AWS 규칙: 기존 규칙이 향상되고 개선되었습니다.
- S3 Spring Starter: S3 Spring Starter에 대한 검색 규칙이 추가되었습니다.
- RabbitMQ Spring JMS: RabbitMQ Spring JMS에 대한 검색 규칙이 추가되었습니다.
- 로깅 규칙: 업데이트되고 구체화된 로깅 관련 규칙입니다.
- 로컬 스토리지 규칙: 로컬 스토리지 규칙을 업데이트하고 구체화했습니다.
- Azure 파일 시스템 규칙: Azure 파일 시스템 규칙을 업데이트하고 구체화했습니다.
라이브러리
- 보안 취약성을 해결하기 위해 라이브러리가 업데이트되었습니다.
6.3.0.9
이 릴리스에는 다음 수정 사항이 포함되어 있으며 새 규칙 집합이 포함되어 있습니다.
- 규칙 문제를 해결했습니다
localhost-java-00001. - AWS S3, AWS SQS, Alibaba 클라우드 OS S, Alibaba Cloud SMS, Alibaba Scheduler X, Alibaba Cloud Seata 및 Alibaba Rocket MQ와 같은 기술을 식별하기 위한 새로운 규칙을 도입했습니다.
-
azure-file-system-02000이제 XML 파일 확장자를 지원하도록 업데이트되었습니다. - 보안 취약성을 해결하기 위해 다양한 라이브러리를 업그레이드했습니다.
6.3.0.8
이전에는 기본적으로 대상 집합을 사용하도록 설정했기 때문에 특정 고객이 덜 중요한 문제와 관련된 문제가 너무 많은 대규모 애플리케이션을 평가하기가 어려웠습니다. 보고서의 노이즈를 줄이려면 이제 사용자는 --target를 실행할 때 매개 변수 appcat을 사용하여 여러 대상을 지정해야 하며, 이는 중요한 대상만 선택할 수 있는 옵션을 제공합니다.
6.3.0.7
Azure Migrate 애플리케이션 및 코드 평가의 GA(일반 공급) 릴리스입니다.
알려진 문제
7.6.0.7
- 규칙 문제:
- 규칙이
azure-system-config-01000트리거되지 않습니다. - 규칙은
azure-password-01000동일한 파일에 여러 위반이 있는 경우에도 하나의 위반만 검색합니다.
- 규칙이
- Windows
Windows system assumed buffer larger than it is, events have likely been missed의 감시자 오류 채널에서 오류가 발생했습니다. 이 오류 메시지는 Windows에서 장기 실행 작업 중에 명령줄에 나타납니다.
7.6.0.6
- 규칙 문제:
- 규칙이
azure-system-config-01000트리거되지 않습니다. - 규칙은
azure-password-01000동일한 파일에 여러 위반이 있는 경우에도 하나의 위반만 검색합니다.
- 규칙이
- Windows
Windows system assumed buffer larger than it is, events have likely been missed의 감시자 오류 채널에서 오류가 발생했습니다. 이 오류 메시지는 Windows에서 장기 실행 작업 중에 명령줄에 나타납니다.
7.6.0.5
- 규칙 문제:
- 규칙이
azure-system-config-01000트리거되지 않습니다. - 규칙은
azure-password-01000동일한 파일에 여러 위반이 있는 경우에도 하나의 위반만 검색합니다.
- 규칙이
- Windows
Windows system assumed buffer larger than it is, events have likely been missed의 감시자 오류 채널에서 오류가 발생했습니다. 이 오류 메시지는 Windows에서 장기 실행 작업 중에 명령줄에 나타납니다.
7.6.0.4
- 규칙 문제:
- 규칙이
azure-system-config-01000트리거되지 않습니다. - 규칙은
azure-password-01000동일한 파일에 여러 위반이 있는 경우에도 하나의 위반만 검색합니다.
- 규칙이
- Windows
Windows system assumed buffer larger than it is, events have likely been missed의 감시자 오류 채널에서 오류가 발생했습니다. 이 오류 메시지는 Windows에서 장기 실행 작업 중에 명령줄에 나타납니다.
7.6.0.3
- 플래그
--overrideProviderSettings는 지원되지 않습니다. - 규칙 문제:
-
azure-system-config-01000에서는http-session-01000규칙이 트리거되지 않습니다. -
FileSystem - Java IO규칙이 트리거되지 않습니다.
-
- Windows에서 WAR 파일을 분석하면 다음과 같은 오류가
Failed to Move Decompiled File발생합니다. Windows에서 WAR 파일을 분석할 때 오류가 발생하며, 이는 Windows OS에서 몇 가지 중복 문제를 일으킵니다. - Windows
Windows system assumed buffer larger than it is, events have likely been missed의 Watcher 오류 채널에서 오류가 발생했습니다. 이 오류 메시지는 Windows에서 장기 실행 작업 중에 명령줄에 나타납니다. - Ctrl+C 는 진행 중인 분석을 중지하지 못합니다. 해결하려면 프로세스를 명시적으로 종료하여 프로세스를 수동으로 종료합니다.
- 이진 분석 보고서에서 코드 조각 제목은 잘못되거나 존재하지 않는 파일 경로를 표시합니다.
7.6.0.2
- 플래그
--overrideProviderSettings는 지원되지 않습니다. - 규칙 문제:
-
azure-system-config-01000에서는http-session-01000규칙이 트리거되지 않습니다. -
FileSystem - Java IO규칙이 트리거되지 않습니다.
-
- Windows에서 WAR 파일을 분석하면 다음과 같은 오류가
Failed to Move Decompiled File발생합니다. Windows에서 WAR 파일을 분석할 때 오류가 발생하며, 이는 Windows OS에서 몇 가지 중복 문제를 일으킵니다. - Windows
Windows system assumed buffer larger than it is, events have likely been missed의 Watcher 오류 채널에서 오류가 발생했습니다. 이 오류 메시지는 Windows에서 장기 실행 작업 중에 명령줄에 나타납니다. - Ctrl+C 는 진행 중인 분석을 중지하지 못합니다. 해결하려면 프로세스를 명시적으로 종료하여 프로세스를 수동으로 종료합니다.
- 이진 분석 보고서에서 코드 조각 제목은 잘못되거나 존재하지 않는 파일 경로를 표시합니다.
7.6.0.1
- 플래그
--overrideProviderSettings는 지원되지 않습니다. - 규칙 문제:
-
azure-system-config-01000,http-session-01000java-removals-00150규칙이 트리거되지 않습니다. -
FileSystem - Java IO규칙이 트리거되지 않습니다.
-
- Windows에서 WAR 파일을 분석하면 다음과 같은 오류가
Failed to Move Decompiled File발생합니다. Windows에서 WAR 파일을 분석할 때 오류가 발생하며, 이는 Windows OS에서 몇 가지 중복 문제를 일으킵니다. - Windows
Windows system assumed buffer larger than it is, events have likely been missed의 Watcher 오류 채널에서 오류가 발생했습니다. 이 오류 메시지는 Windows에서 장기 실행 작업 중에 명령줄에 나타납니다. - Ctrl+C 는 진행 중인 분석을 중지하지 못합니다. 해결하려면 프로세스를 명시적으로 종료하여 프로세스를 수동으로 종료합니다.
- 이진 분석 보고서에서 코드 조각 제목은 잘못되거나 존재하지 않는 파일 경로를 표시합니다.
7.6.0.0
- 플래그
--analyze-known-libraries가 Windows에서 작동하지 않습니다. - Windows에서는 분석 프로세스 중에 다음과 같은 추가 폴더가 생성되지만 완료 후에는 자동으로 제거되지 않습니다. 분석이 완료된 후 이러한 추가 폴더를 제거할 수 있습니다.
- .metadata
- org.eclipse.osgi
- org.eclipse.equinox.app
- org.eclipse.core.runtime
- org.eclipse.equinox.launcher
- 플래그
--overrideProviderSettings는 지원되지 않습니다. - 플래그
--json-output는 지원되지 않습니다. 이후 릴리스에서는 output.yaml 및 dependency.yaml 파일에 대한 JSON 출력을 생성합니다. - 규칙 문제:
-
azure-system-config-01000,http-session-01000java-removals-00150규칙이 트리거되지 않습니다. -
FileSystem - Java IO규칙이 트리거되지 않습니다. - 분석을 실행할 때 오류가
unable to parse all the rules for ruleset발생합니다. 이 오류는 도구가 규칙 집합의 모든 규칙을 구문 분석하지 못하는 경우 분석 중에 발생합니다.
-
- Windows에서 WAR 파일을 분석하면 다음과 같은 오류가
Failed to Move Decompiled File발생합니다. Windows에서 WAR 파일을 분석할 때 오류가 발생하며, 이는 Windows OS에서 몇 가지 중복 문제를 일으킵니다. - 인사이트 탭의 일부 규칙에 대한 설명이 누락되었습니다. 일부 태그 규칙에는 설명이 부족하여 보고서의 인사이트 탭에 빈 제목이 표시됩니다.
- Windows에서 Watcher Error 채널 오류
Windows system assumed buffer larger than it is, events have likely been missed. 이 오류 메시지는 Windows에서 장기 실행 작업 중에 명령줄에 나타납니다. - 이 릴리스에는 종속성 분석을 위한 활성 인터넷 연결이 필요합니다.
- Ctrl+C 는 진행 중인 분석을 중지하지 못합니다. 해결하려면 프로세스를 명시적으로 종료하여 프로세스를 수동으로 종료합니다.
- 플래그
--context-lines가 숫자 0으로 설정되면 예상대로 작동하지 않습니다. 이 플래그를 사용하면 사용자가 보고서에 표시되어야 하는 소스 코드의 양을 제한할 수 있습니다. 값 0으로 설정하면 예상대로 작동하지 않을 수 있습니다.
라이선스
Java용 Azure Migrate 애플리케이션 및 코드 평가는 무료 오픈 소스 기반 도구입니다.
데이터 수집
AppCAT은 기본적으로 원격 분석 데이터를 수집합니다. Microsoft는 수집된 데이터를 집계하여 일반적인 문제를 식별하고 AppCAT CLI의 환경을 개선하기 위해 사용 패턴을 식별합니다. Microsoft AppCAT CLI는 사적인 또는 개인 데이터를 수집하지 않습니다. 예를 들어 사용량 데이터는 성공률이 낮은 명령과 같은 문제를 식별하는 데 도움이 됩니다. 이 정보는 작업의 우선 순위를 지정하는 데 도움이 됩니다.
이 데이터가 제공하는 인사이트를 높이 평가하지만 모든 사용자가 사용량 현황 데이터를 보내고 싶어하는 것은 아니라는 것도 이해합니다. 데이터 수집을 비활성화하려면 appcat analyze --disable-telemetry 명령을 사용할 수 있습니다. 자세한 내용은 개인정보처리방침참조하세요.