Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Observação
Este artigo destina-se à próxima geração de avaliação de aplicação e código das Migrações para Azure para Java, versão 7.x. Essa versão está em versão prévia. Para a versão estável anterior, versão 6.x, consulte Avaliação de aplicação e código das Migrações para Azure para Java.
Este artigo mostra como usar a ferramenta de avaliação de aplicação e código das Migrações para Azure para Java para avaliar e alterar a plataforma de qualquer tipo de aplicativo Java. A ferramenta permite que você avalie a preparação do aplicativo para reformular e migrar para o Azure. Essa ferramenta é oferecida como uma CLI (interface de linha de comando) e avalia binários e códigos-fonte de aplicativos Java para identificar oportunidades de alteração de plataforma e migração para o Azure. Ajuda você a modernizar e reformular aplicativos Java em grande escala, identificando casos de uso e padrões de código comuns e propondo alterações recomendadas.
A ferramenta descobre o uso da tecnologia de aplicativo por meio da análise de código estático, fornece estimativa de esforço e acelera a reformulação do código. Essa avaliação ajuda você a priorizar e mover aplicativos Java para o Azure. Com um conjunto de mecanismos e regras, a ferramenta pode descobrir e avaliar diferentes tecnologias, como Java 11, Java 17, Jakarta EE, Spring, Hibernate, JMS (Java Message Service) e muito mais. A ferramenta ajuda você a alterar a plataforma do aplicativo Java para diferentes destinos do Azure (Serviço de Aplicativo do Azure, Serviço de Kubernetes do Azure e Aplicativos de Contêiner do Azure) com regras específicas de alteração de plataforma do Azure.
A ferramenta é baseada em um conjunto de componentes do Cloud Native Computing Foundation, no projeto Konveyor, criado e conduzido pela Red Hat.
Visão geral
A ferramenta foi projetada para ajudar as organizações a modernizar seus aplicativos Java de forma a reduzir custos e habilitar uma inovação mais rápida. A ferramenta usa técnicas avançadas de análise para entender a estrutura e as dependências dos aplicativos Java e fornece diretrizes sobre como refatorar e migrar os aplicativos para o Azure.
Com ela, você pode executar as seguintes tarefas:
- Descubra o uso da tecnologia: veja rapidamente quais tecnologias um aplicativo usa. A descoberta é útil se você tiver aplicativos herdados com pouca documentação e quiser saber quais tecnologias eles usam.
- Avalie o código para um destino específico: avalie um aplicativo para um destino específico do Azure. Verifique o esforço e as modificações que você precisa fazer para reformular seus aplicativos no Azure.
Destinos compatíveis
A ferramenta contém regras para ajudar você a reformular seus aplicativos para poder implantar e usar diferentes serviços do Azure.
As regras usadas pela avaliação de aplicação e código das Migrações para Azure são agrupadas com base em um destino. Um destino é onde ou como o aplicativo é executado, além de necessidades e expectativas gerais. Ao avaliar um aplicativo, você pode escolher vários destinos. A tabela a seguir descreve os destinos disponíveis:
| Nome de destino | Descrição | Destino |
|---|---|---|
| Serviço de aplicativo do Azure | Melhores práticas para implantar um aplicativo no Serviço de Aplicativo do Azure. | azure-appservice |
| Serviço de Kubernetes do Azure | Melhores práticas para implantar um aplicativo no Serviço de Kubernetes do Azure. | azure-aks |
| Aplicativos de Contêiner do Azure | Melhores práticas para implantar um aplicativo nos Aplicativos de Contêiner do Azure. | azure-container-apps |
| Preparação da nuvem | Melhores práticas gerais para preparar uma nuvem de aplicativos (Azure). | cloud-readiness |
| Linux | Melhores práticas gerais para preparar um aplicativo Linux. | linux |
| OpenJDK 11 | Melhores práticas gerais para executar um aplicativo Java 8 com o Java 11. | openjdk11 |
| OpenJDK 17 | Melhores práticas gerais para executar um aplicativo Java 11 com o Java 17. | openjdk17 |
| OpenJDK 21 | Melhores práticas gerais para executar um aplicativo Java 17 com o Java 21. | openjdk21 |
Quando a ferramenta avalia a preparação da nuvem e os serviços relacionados do Azure, ela também pode relatar informações úteis para o uso potencial de diferentes serviços do Azure. A lista a seguir mostra alguns dos serviços abordados:
- Bancos de dados do Azure
- Barramento de Serviço do Azure
- Armazenamento do Azure
- Rede de Distribuição de Conteúdo do Azure
- Hubs de eventos do Azure
- Cofre de Chave do Azure
- Porta da frente do Azure
Fazer o download e instalar
Para usar a CLI appcat, você deve baixar o pacote específico para seu ambiente e ter as dependências necessárias em seu ambiente. A CLI appcat é executada em qualquer ambiente como Windows, Linux ou Mac, com hardware Intel, Arm ou Apple Silicon. Para o requisito de JDK, recomendamos que você use o Microsoft Build do OpenJDK.
| SO | Arquitetura | Link de download | Outros arquivos |
|---|---|---|---|
| x64 | |||
| Windows | x64 | Baixar | sha256 / Sig |
| macOS | x64 | Baixar | sha256 / Sig |
| Linux | x64 | Baixar | sha256 / Sig |
| AArch64 | |||
| Windows | AArch64/ARM64 | Baixar | sha256 / Sig |
| macOS | Silício da Apple | Baixar | sha256 / Sig |
| Linux | AArch64/ARM64 | Baixar | sha256 / Sig |
Pré-requisitos
-
Baixe e instale o Microsoft Build do OpenJDK 17. Verifique se a variável de
JAVA_HOMEambiente está definida.
Instalar o AppCAT
Para instalar appcat, baixe o arquivo zip adequado para sua plataforma. Depois de baixar o arquivo, dependendo do sistema operacional, você deverá encontrar um arquivo .tar.gz (Linux/macOS) ou .zip (Windows).
Extraia o binário do arquivo baixado. Você deverá ver a seguinte estrutura de pastas:
/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
Executar AppCAT
Para executar appcat de qualquer local no terminal, extraia o arquivo para o local desejado. Em seguida, atualize a PATH variável de ambiente para incluir o diretório onde você extraiu o arquivo compactado.
Observação
Quando o appcat binário é chamado, ele procura primeiro suas dependências na pasta executável especificada na variável de PATH ambiente. Se as dependências não forem encontradas, ela retornará ao diretório base do usuário – ~/.appcat no Linux/Mac ou %USERPROFILE%\.appcat no Windows.
Uso
Subcomandos
AppCAT fornece dois subcomandos para uso:
-
analyze: executa a análise de código-fonte no código-fonte de entrada ou em um binário. -
transform: converte regras XML de versões anteriores (6 ou mais) para o formato YAML usado por essa versão.
Observação
Para usuários do macOS: se você encontrar um erro informando Apple could not verify ao tentar executar o aplicativo, poderá resolver esse erro usando o seguinte comando:
xattr -d -r com.apple.quarantine /path/to/appcat_binary
Por exemplo:
xattr -d -r com.apple.quarantine $HOME/.appcat/appcat
Subcomando Analyze
O analyze subcomando permite executar o código-fonte e a análise binária.
Para analisar o código-fonte do aplicativo, use o seguinte comando:
./appcat analyze --input=<path-to-source-code> --output=<path-to-output-directory> --target=azure-appservice,cloud-readiness --overwrite
O sinalizador --input deve apontar para um arquivo binário ou um diretório de código-fonte e --output deve apontar para um diretório para armazenar os resultados da análise.
Para obter mais informações sobre os sinalizadores de análise, use o seguinte comando:
./appcat analyze --help
Para verificar os destinos disponíveis para AppCAT, use o seguinte comando:
./appcat analyze --list-targets
Esse comando gera a seguinte saída:
available target technologies:
azure-aks
azure-appservice
azure-container-apps
cloud-readiness
linux
openjdk11
openjdk17
openjdk21
Analisando vários aplicativos
O AppCAT dá suporte a várias análises de aplicativo por execução de comando. Você pode fornecer uma lista de caminhos de entrada separados por vírgulas para o --input flag analisar vários aplicativos em um único comando. O diretório de saída e o relatório estático incluem os resultados combinados de análise para todos os aplicativos.
Para analisar vários aplicativos, use o seguinte comando:
./appcat analyze --input=<path-to-source-A>,<path-to-source-B>,<path-to-source-C> --output=<path-to-output-ABC> --target=<target-name>
O AppCAT também permite que você use a opção --bulk para adicionar de forma incremental mais análises a um diretório de saída e a um relatório estático existentes. Ao usar a opção --bulk , você deve usá-la consistentemente em todas as execuções de comando que gravam na mesma saída.
Observação
Quando você fornece vários caminhos de entrada, --bulk é habilitado por padrão.
Para adicionar de forma incremental mais análise de aplicativo a um relatório estático existente, use o seguinte comando:
./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>
Subcomando de transformação
O transform subcomando permite converter as regras XML anteriores appcat usadas na versão 6.x no novo formato YAML usado por esta versão 7.x.
Para transformar regras, use o seguinte comando:
./appcat transform rules --input=<path-to-xml-rules> --output=<path-to-output-directory>
O sinalizador --input deve apontar para um arquivo ou diretório que contém regras XML e o sinalizador --output deve apontar para o diretório de saída para as regras YAML convertidas.
Amostras
Observação
Verifique se as permissões de arquivo para scripts na pasta extraída estão definidas para permitir a execução.
No diretório de exemplos, você pode encontrar os seguintes scripts para executar diferentes tipos de análise:
- run-assessment: fornece um relatório com avaliação de código e etapas para migrar o Airsonic para o Serviço de Aplicativo do Azure no Tomcat.
- run-assessment-transform-rules: converte regras XML do Windup em regras YAML compatíveis com analyzer-lsp.
- run-assessment-custom-rules: fornece um relatório de avaliação de código usando regras personalizadas (transforma XML em YAML).
- run-assessment-openjdk21: gera um relatório com avaliação de código e etapas para migrar o Airsonic para o OpenJDK 21.
- run-assessment-package-only: produz um relatório avaliando pacotes específicos.
Esses scripts devem ser usados com o projeto de exemplo Airsonic-Advanced - um streamer de mídia baseado na Web baseado na comunidade que permite acessar e compartilhar sua coleção de músicas.
Você pode clonar o repositório de aplicativos manualmente usando o seguinte comando:
git clone https://github.com/airsonic-advanced/airsonic-advanced.git
Após a clonagem, forneça o caminho para a pasta clonada ao executar os scripts de avaliação. Dependendo do sistema operacional, execute o script apropriado, conforme mostrado no exemplo a seguir:
Observação
Verifique se você clonou o projeto Airsonic Advanced em um caminho local antes de executar os scripts.
./samples/run-assessment <path-to-airsonic-advanced>
Esses relatórios são gerados e iniciados automaticamente. Você pode encontrar os relatórios em ../samples/report-* (Linux/macOS) ou ..\samples\report-* (Windows).
Resumo da análise
A página inicial do relatório apresenta uma visão resumida de todos os aplicativos analisados. A partir daqui, você pode navegar até relatórios de aplicativos individuais para explorar descobertas detalhadas.
O botão Perguntar Copilot no canto superior direito redireciona você para a extensão Modernização do Aplicativo Copilot do GitHub para Java no Visual Studio Code. Essa extensão fornece a avaliação do aplicativo e a correção de código como seus principais recursos para migrar aplicativos Java para o Azure , alimentados pelos recursos de IA do AppCAT e do GitHub Copilot.
Relatório de avaliação
O relatório de avaliação fornece uma lista de problemas categorizada de vários aspectos da preparação do Azure, da nuvem nativa e da modernização do Java que você precisa abordar para migrar com êxito o aplicativo para o Azure.
Cada problema é categorizado por gravidade - obrigatório, opcional ou potencial - e inclui o número de linhas de código afetadas.
As Dependências e Tecnologias exibem as bibliotecas e tecnologias usadas neste aplicativo.
Informações detalhadas sobre um problema específico
Para cada problema, você pode obter mais informações (os detalhes do problema, o conteúdo da regra e assim por diante) apenas selecionando-o. Você também obtém a lista de todos os arquivos afetados por esse problema.
Em seguida, para cada arquivo ou classe afetada pelo problema, você pode entrar no código-fonte para realçar a linha de código que criou o problema.
Notas de versão
7.6.0.7
Esta versão contém as seguintes correções e aprimoramentos.
- Suporte para analisar aplicativos Spring baseados em Gradle.
- Suporte para analisar projetos do Open Liberty.
- Mostre o progresso da avaliação exibindo o número de regras processadas durante a avaliação.
- Maven removido dos pré-requisitos.
-
airsonic.warsubstituído porairsonic-advancedcomo o aplicativo de exemplo nos artefatos liberados.
7.6.0.6
Esta versão contém as seguintes correções e aprimoramentos.
- Um arquivo .appcat-ignore padrão agora está incluído no pacote de lançamento por padrão. Esse arquivo faz com que a ferramenta exclua pastas ou caminhos especificados que não precisam ser analisados.
- Correção do problema de dependências ausentes no relatório ao usar o modo
full(especificado usando--mode). - Análise restrita a alvos suportados pelo AppCAT quando nenhum alvo é especificado.
- Linhas de comentário ignoradas durante a análise.
- Corrigida a localização incorreta das regras XML.
7.6.0.5
Esta versão contém as seguintes correções e aprimoramentos.
- O
--inputsinalizador agora aceita vários valores, permitindo que você analise vários aplicativos em uma única execução de comando. - O relatório estático categoriza sua lista de problemas para melhor legibilidade.
- Agora, os usuários podem instalar o AppCAT em diretórios diferentes do diretório base do usuário.
- Correção de um problema em que a execução de
analyzecom ambos--bulke--skip-static-reportfalhava em gerar vários arquivos de saída. - Resolveu uma falha ao analisar com
--bulke--rulesse nenhum provedor Java foi iniciado. - Correção de um problema em que a análise falhava se um pacote especificado não fosse encontrado ao usar o
--packagessinalizador. - O
--exclude-pathssinalizador foi preterido. Para excluir arquivos ou diretórios, use um arquivo .appcat-ignore – com suporte a padrões glob – colocado no diretório de entrada ou no diretório de instalação.
7.6.0.4
Esta versão contém as seguintes correções e aprimoramentos.
- Dá suporte à coleta de telemetria. Use o
--disable-telemetrysinalizador para desabilitar a telemetria. - Refatora o formato de comando da CLI para torná-lo mais claro.
- Atualiza o
--sourcesinalizador, mudando de--source <source1> --source <source2> ...para--source <source1>,<source2>,... - Atualiza o
--targetsinalizador, mudando de--target <target1> --target <target2> ...para--target <target1>,<target2>,... - Atualiza o
--rulessinalizador, mudando de--rules <rule1> --rules <rule2> ...para--rules <rule1>,<rule2>,... - Atualiza o
--maven-settingssinalizador para--custom-maven-settings - Atualiza o
--limit-code-snipssinalizador para--code-snips-number - Remove o sinalizador
--json-output, usa sinalizador--output-format, escolhe o formato de saída: 'yaml' ou 'json'. (yaml padrão) - Remove os sinalizadores
--provider,--override-provider-settings,--list-providerse--dependency-folders.
- Atualiza o
- Um novo
--exclude-pathssinalizador: especifica caminhos que devem ser ignorados na análise. Use uma lista separada por vírgulas para vários valores:--exclude-paths <path1>,<path2>,.... O valor padrão é[]. - Um novo
--packagessinalizador: especifica os pacotes de classe de aplicativo a serem avaliados. Use uma lista separada por vírgulas para vários valores:--packages <package1>,<package2>,.... O valor padrão é[]. - Um novo
--dry-runsinalizador: verifica apenas se os sinalizadores são válidos sem realmente executar a análise. O valor padrão éfalse. - Remove
azure-spring-appsdo appcat--list-targets.
7.6.0.3
Esta versão contém as seguintes correções e aprimoramentos.
- Novo sinalizador
--limit-code-snips: controle os limites de trechos de código durante a avaliação da regra (0=ilimitado, -1=desabilitar trechos). - Correção de falhas de arquivo de dependência ausentes no modo de análise em massa: a ferramenta não anula mais durante a análise em massa para projetos não Java ou projetos Java usando
--mode=source-only.
7.6.0.2
Esta versão contém as seguintes correções.
-
java-removals-00150A regra agora está ativada corretamente.
7.6.0.1
Esta versão contém as seguintes correções e aprimoramentos.
- Sinalizador
--analyze-known-libraries: agora funciona no Windows. - Limpeza de diretório: diretórios extras criados durante a análise no Windows agora são limpos automaticamente.
- Sinalizador
--json-output: agora em operação. - Erro de análise de regras: o erro
unable to parse all the rules for rulesetfoi resolvido. - Descrições da guia Insights: descrições de regra ausentes agora estão presentes.
- Dependência de conexão com a Internet: a análise não falha mais sem uma conexão com a Internet.
- Sinalizador
--context-lines: agora se comporta conforme o esperado quando definido como 0. - O requisito do Python para executar a ferramenta foi removido.
7.6.0.0
Essa versão é baseada em um conjunto diferente de componentes do projeto Konveyor.
Atualizações gerais
- Novo mecanismo baseado no projeto Konveyor Analyzer LSP, com uma CLI baseada no projeto Konveyor Kantra.
6.3.9.0
Esta versão contém as correções a seguir e inclui um conjunto de novas regras.
Atualizações gerais
- Alterações integradas do repositório upstream do Windup (versão final 6.3.9).
- Resolvidos links quebrados nas descrições de regras e no texto de ajuda.
Regras
- Fila de Mensagens do Azure: novas regras atualizadas e adicionadas para
azure-message-queue-rabbitmqeazure-message-queue-amqp. - Azure Service Bus: introduziu uma regra de detecção para o Azure Service Bus.
- MySQL e PostgreSQL: regras refinadas de detecção de dependências.
- Regras do Azure-AWS: regras existentes aprimoradas e aprimoradas.
- S3 Spring Starter: adicionada uma regra de detecção para o S3 Spring Starter.
- RabbitMQ Spring JMS: adicionada uma regra de detecção para RabbitMQ Spring JMS.
- Regras de registro: regras relacionadas ao registro atualizadas e refinadas.
- Regra de armazenamento local: atualizou e refinou a regra de armazenamento local.
- Regra do Sistema de Arquivos do Azure: atualizou e refinou a regra do Sistema de Arquivos do Azure.
Bibliotecas
- Bibliotecas atualizadas para abordar vulnerabilidades de segurança.
6.3.0.9
Esta versão contém as correções a seguir e inclui um conjunto de novas regras.
- Resolução de um problema com a regra
localhost-java-00001. - Introdução de novas regras para identificar tecnologias como AWS S3, AWS SQS, Alibaba Cloud OSS, Alibaba Cloud SMS, Alibaba Scheduler X, Alibaba Cloud Seata e Alibaba Rocket MQ.
- Atualização de
azure-file-system-02000para passar a dar suporte a extensões de arquivo XML. - Upgrade de diversas bibliotecas para resolver vulnerabilidades de segurança.
6.3.0.8
Anteriormente, um conjunto de destinos era habilitado por padrão, dificultando a avaliação de aplicativos grandes com muitos problemas relacionados a problemas menos críticos. Para reduzir o ruído em relatórios, os usuários agora devem especificar vários destinos, com o parâmetro --target, ao executar appcat, dando a eles a opção de selecionar apenas os destinos que importam.
6.3.0.7
Versão GA (Disponibilidade geral) da avaliação de aplicação e código das Migrações para Azure.
Problemas conhecidos
7.6.0.7
- Problemas de regras:
- As regras
azure-system-config-01000não estão sendo ativadas. - A
azure-password-01000regra detecta apenas uma violação, mesmo quando existem várias violações no mesmo arquivo.
- As regras
- Um erro no canal Erro do Observador no Windows:
Windows system assumed buffer larger than it is, events have likely been missed. Essa mensagem de erro aparece na linha de comando durante trabalhos de execução prolongada no Windows.
7.6.0.6
- Problemas de regras:
- As regras
azure-system-config-01000não estão sendo ativadas. - A
azure-password-01000regra detecta apenas uma violação, mesmo quando existem várias violações no mesmo arquivo.
- As regras
- Um erro no canal Erro do Observador no Windows:
Windows system assumed buffer larger than it is, events have likely been missed. Essa mensagem de erro aparece na linha de comando durante trabalhos de execução prolongada no Windows.
7.6.0.5
- Problemas de regras:
- As regras
azure-system-config-01000não estão sendo ativadas. - A
azure-password-01000regra detecta apenas uma violação, mesmo quando existem várias violações no mesmo arquivo.
- As regras
- Um erro no canal Erro do Observador no Windows:
Windows system assumed buffer larger than it is, events have likely been missed. Essa mensagem de erro aparece na linha de comando durante trabalhos de execução prolongada no Windows.
7.6.0.4
- Problemas de regras:
- As regras
azure-system-config-01000não estão sendo ativadas. - A
azure-password-01000regra detecta apenas uma violação, mesmo quando existem várias violações no mesmo arquivo.
- As regras
- Um erro no canal Erro do Observador no Windows:
Windows system assumed buffer larger than it is, events have likely been missed. Essa mensagem de erro aparece na linha de comando durante trabalhos de execução prolongada no Windows.
7.6.0.3
- Não há suporte para o sinalizador
--overrideProviderSettings. - Problemas de regras:
- As regras de
azure-system-config-01000ehttp-session-01000não estão sendo ativadas. - A regra
FileSystem - Java IOnão está sendo disparada.
- As regras de
- Analisar arquivos WAR no Windows resulta no seguinte erro:
Failed to Move Decompiled File. Ocorre um erro ao analisar arquivos WAR no Windows, que é responsável por alguns problemas redundantes criados no sistema operacional Windows. - Erro no canal Erro do Observador no Windows:
Windows system assumed buffer larger than it is, events have likely been missed. Essa mensagem de erro aparece na linha de comando durante trabalhos de execução prolongada no Windows. - Ctrl+C falha ao interromper a análise contínua. Para solucionar, encerre o processo manualmente interrompendo explicitamente o processo.
- Em relatórios de análise binária, o título do snippet de código mostra um caminho de arquivo incorreto ou inexistente.
7.6.0.2
- Não há suporte para o sinalizador
--overrideProviderSettings. - Problemas de regras:
- As regras de
azure-system-config-01000ehttp-session-01000não estão sendo ativadas. - A regra
FileSystem - Java IOnão está sendo disparada.
- As regras de
- Analisar arquivos WAR no Windows resulta no seguinte erro:
Failed to Move Decompiled File. Ocorre um erro ao analisar arquivos WAR no Windows, que é responsável por alguns problemas redundantes criados no sistema operacional Windows. - Erro no canal Erro do Observador no Windows:
Windows system assumed buffer larger than it is, events have likely been missed. Essa mensagem de erro aparece na linha de comando durante trabalhos de execução prolongada no Windows. - Ctrl+C falha ao interromper a análise contínua. Para solucionar, encerre o processo manualmente interrompendo explicitamente o processo.
- Em relatórios de análise binária, o título do snippet de código mostra um caminho de arquivo incorreto ou inexistente.
7.6.0.1
- Não há suporte para o sinalizador
--overrideProviderSettings. - Problemas de regras:
- As regras
azure-system-config-01000,http-session-01000,java-removals-00150não estão sendo disparadas. - A regra
FileSystem - Java IOnão está sendo disparada.
- As regras
- Analisar arquivos WAR no Windows resulta no seguinte erro:
Failed to Move Decompiled File. Ocorre um erro ao analisar arquivos WAR no Windows, que é responsável por alguns problemas redundantes criados no sistema operacional Windows. - Erro no canal Erro do Observador no Windows:
Windows system assumed buffer larger than it is, events have likely been missed. Essa mensagem de erro aparece na linha de comando durante trabalhos de execução prolongada no Windows. - Ctrl+C falha ao interromper a análise contínua. Para solucionar, encerre o processo manualmente interrompendo explicitamente o processo.
- Em relatórios de análise binária, o título do snippet de código mostra um caminho de arquivo incorreto ou inexistente.
7.6.0.0
- O sinalizador
--analyze-known-librariesnão está funcionando no Windows. - No Windows, as pastas adicionais a seguir são geradas durante o processo de análise, mas não são removidas automaticamente após a conclusão. Talvez você queira remover essas pastas adicionais após a conclusão da análise.
- metadata.
- org.eclipse.osgi
- org.eclipse.equinox.app
- org.eclipse.core.runtime
- org.eclipse.equinox.launcher
- Não há suporte para o sinalizador
--overrideProviderSettings. - Não há suporte para o sinalizador
--json-output. Em uma versão futura, ele gera saídas JSON para os arquivos output.yaml e dependency.yaml. - Problemas de regras:
- As regras
azure-system-config-01000,http-session-01000,java-removals-00150não estão sendo disparadas. - A regra
FileSystem - Java IOnão está sendo disparada. - Erro
unable to parse all the rules for rulesetao executar a análise. Esse erro ocorre durante a análise quando a ferramenta falha ao analisar todas as regras no conjunto de regras.
- As regras
- Analisar arquivos WAR no Windows resulta no seguinte erro:
Failed to Move Decompiled File. Ocorre um erro ao analisar arquivos WAR no Windows, que é responsável por alguns problemas redundantes criados no sistema operacional Windows. - Descrições ausentes de algumas regras na guia Insights. Algumas regras de marcação não têm descrições, gerando títulos em branco que aparecem na guia Insights do relatório.
- Erro no canal Erro do Observador no Windows:
Windows system assumed buffer larger than it is, events have likely been missed. Essa mensagem de erro aparece na linha de comando durante trabalhos de execução prolongada no Windows. - Essa versão requer uma conexão com a Internet ativa para análise de dependência.
- Ctrl+C falha ao interromper a análise contínua. Para solucionar, encerre o processo manualmente interrompendo explicitamente o processo.
- Quando o sinalizador
--context-linesé definido como um número 0, ele não funciona conforme o esperado. Esse sinalizador permite que o usuário limite quanto do código-fonte deve aparecer no relatório. Definir para um valor 0 pode não funcionar conforme o esperado.
Licença
A avaliação de aplicação e código das Migrações para Azure para Java é uma ferramenta gratuita e baseada em código aberto.
Coleta de dados
O AppCAT coleta dados de telemetria por padrão. A Microsoft agrega dados coletados para identificar padrões de uso para identificar problemas comuns e melhorar a experiência da CLI do AppCAT. A CLI do Microsoft AppCAT não coleta dados pessoais ou privados. Por exemplo, os dados de uso ajudam a identificar problemas como comandos com baixa taxa de êxito. Essas informações nos ajudam a priorizar nosso trabalho.
Embora apreciemos os insights que esses dados fornecem, também entendemos que nem todos querem enviar dados de uso. Você pode desabilitar a coleta de dados usando o appcat analyze --disable-telemetry comando. Para obter mais informações, consulte nossa política de privacidade .