Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Nota
Este artigo destina-se à próxima geração de aplicação Azure Migrate e avaliação de código para Java, versão 7.x. Esta versão está em prévia. Para a versão estável anterior, versão 6.x, consulte Azure Migrate application and code assessment for Java.
Este artigo mostra como usar o aplicativo Azure Migrate e a ferramenta de avaliação de código para Java para avaliar e reformular qualquer tipo de aplicativo Java. A ferramenta permite avaliar a preparação do aplicativo para replataforma e migração para o Azure. Essa ferramenta é oferecida como uma interface de linha de comando (CLI) e avalia binários de aplicativos Java e código-fonte para identificar oportunidades de replataforma e migração para o Azure. Ele ajuda a modernizar e reformular aplicativos Java de grande escala, identificando casos de uso comuns e padrões de código e propondo alterações recomendadas.
A ferramenta descobre o uso da tecnologia de aplicações por meio da análise estática de código, fornece estimativa de esforço e acelera a replataformaçã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, Java Message Service (JMS) e muito mais. Em seguida, a ferramenta ajuda você a reformular o aplicativo Java para diferentes destinos do Azure - Serviço de Aplicativo do Azure, Serviço Kubernetes do Azure e Aplicativos de Contêiner do Azure - com regras específicas de replataforma do Azure.
A ferramenta é baseada em um conjunto de componentes do projeto Cloud Native Computing FoundationKonveyor, criado e liderado pela Red Hat.
Descrição geral
A ferramenta foi projetada para ajudar as organizações a modernizar seus aplicativos Java de uma forma que reduza custos e permita uma inovação mais rápida. A ferramenta usa técnicas avançadas de análise para entender a estrutura e as dependências de qualquer aplicativo Java e fornece orientação sobre como refatorar e migrar os aplicativos para o Azure.
Com ele, 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.
- Avaliar 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 para o Azure.
Alvos suportados
A ferramenta contém regras para ajudá-lo a reformular seus aplicativos para que você possa implantar e usar diferentes serviços do Azure.
As regras usadas pelo aplicativo Azure Migrate e pela avaliação de código são agrupadas com base em um destino. Um destino é onde ou como a aplicação é executada, bem como as suas necessidades e expectativas gerais. Ao avaliar um aplicativo, você pode escolher vários destinos. A tabela a seguir descreve os destinos disponíveis:
| Nome do destino | Descrição | Destino |
|---|---|---|
| Serviço de Aplicações do Azure | Práticas recomendadas para implantar um aplicativo no Serviço de Aplicativo do Azure. | azure-appservice |
| Serviço Kubernetes do Azure | Práticas recomendadas para implantar um aplicativo no Serviço Kubernetes do Azure. | azure-aks |
| Aplicações de Contentores do Azure | Práticas recomendadas para implantar um aplicativo em Aplicativos de Contêiner do Azure. | azure-container-apps |
| Preparação para a nuvem | Práticas recomendadas gerais para preparar um aplicativo Cloud (Azure). | cloud-readiness |
| Aplicações Linux | Práticas recomendadas gerais para preparar um aplicativo Linux. | linux |
| OpenJDK 11 | Melhores práticas gerais para executar uma aplicação Java 8 com Java 11. | openjdk11 |
| OpenJDK 17 | Melhores práticas gerais para executar uma aplicação Java 11 com Java 17. | openjdk17 |
| OpenJDK 21 | Melhores práticas gerais para executar uma aplicação Java 17 com Java 21. | openjdk21 |
Quando a ferramenta avalia a Preparação para a Nuvem e os serviços relacionados do Azure, também pode relatar informações úteis para o uso potencial de diferentes serviços do Azure. A lista seguinte mostra alguns dos serviços abrangidos:
- Bases de Dados do Azure
- Azure Service Bus (uma solução de mensageria na nuvem da Microsoft)
- Armazenamento do Azure
- Rede de Entrega de Conteúdos do Azure
- Hubs de Eventos do Azure
- Azure Key Vault
- Azure Front Door (porta de entrada do Azure)
Transferir e instalar
Para usar a appcat CLI, você deve baixar o pacote específico para seu ambiente e ter as dependências necessárias em seu ambiente. A appcat CLI é executada em qualquer ambiente, como Windows, Linux ou Mac, usando hardware Intel, Arm ou Apple Silicon. Para o requisito JDK, recomenda-se que se use a versão da Microsoft do OpenJDK.
| SO | Arquitetura | Link para Download | Outros ficheiros |
|---|---|---|---|
| x64 | |||
| Mac OS | x64 | Baixar | SHA256 / sig |
| macOS | x64 | Baixar | SHA256 / sig |
| Aplicações Linux | x64 | Baixar | SHA256 / sig |
| AArch64 | |||
| Mac OS | AArch64 / ARM64 | Baixar | SHA256 / sig |
| macOS | Silício da Apple | Baixar | SHA256 / sig |
| Aplicações Linux | AArch64 / ARM64 | Baixar | SHA256 / sig |
Pré-requisitos
-
Baixe e instale o Microsoft Build do OpenJDK 17. Certifique-se de que a
JAVA_HOMEvariável de ambiente está definida.
Instalar o AppCAT
Para instalar o appcat, descarregue o ficheiro zip apropriado para a sua plataforma. Depois de baixar o arquivo, dependendo do seu sistema operacional, você deve encontrar um arquivo .tar.gz (Linux/macOS) ou .zip (Windows).
Extraia o binário do arquivo baixado. Você deve 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 a partir de qualquer local no seu 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.
Nota
Quando o appcat binário é chamado, ele primeiro procura suas dependências na pasta executável especificada na PATH variável de ambiente. Se as dependências não forem encontradas, ele retornará ao diretório inicial do usuário - ~/.appcat no Linux/Mac ou %USERPROFILE%\.appcat no Windows.
Utilização
Subcomandos
AppCAT fornece dois subcomandos para uso:
-
analyze: Execute a análise do código-fonte no código-fonte de entrada ou em um binário. -
transform: Converta regras XML de versões anteriores (6 e anteriores) para o formato YAML usado por esta versão.
Nota
Para usuários do macOS: Se você encontrar um erro informando Apple could not verify ao tentar executar o aplicativo, você pode 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
Analisar subcomando
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 --input sinalizador deve apontar para um diretório de código-fonte ou um arquivo binário 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 o AppCAT, use o seguinte comando:
./appcat analyze --list-targets
Este comando produz 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 suporta análise de vários aplicativos na execução por comando. Você pode fornecer uma lista separada por vírgulas de caminhos de entrada para que o sinalizador analise --input vários aplicativos em um único comando. O diretório de saída e o relatório estático incluem os resultados da análise combinada 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 --bulk a opção para adicionar incrementalmente mais análise de aplicativo a um diretório de saída existente e relatório estático. Ao usar a --bulk opção, você deve usá-la consistentemente em todas as execuções de comando que gravam na mesma saída.
Nota
Quando você fornece vários caminhos de entrada, --bulk é habilitado por padrão.
Para adicionar incrementalmente 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 Transformar
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 --input sinalizador deve apontar para um arquivo ou diretório contendo regras XML, e o --output sinalizador deve apontar para o diretório de saída para as regras YAML convertidas.
Exemplos
Nota
Certifique-se de que 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 de 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 (transformar 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 através da avaliação de pacotes específicos.
Estes scripts destinam-se a ser utilizados com o projeto de exemplo Airsonic-Advanced - um streamer multimédia baseado na Web orientado pela comunidade que lhe permite aceder e partilhar a sua coleção de música.
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 seu sistema operacional, execute o script apropriado, conforme mostrado no exemplo a seguir:
Nota
Certifique-se de ter clonado o projeto Airsonic Advanced para um caminho local antes de executar os scripts.
./samples/run-assessment <path-to-airsonic-advanced>
Os relatórios são gerados e lançados automaticamente. Pode encontrar os relatórios em .. /samples/report-* (Linux/macOS) ou .. \samples\report-* (Windows).
Resumo da análise
A página de destino 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 Ask Copilot no canto superior direito redireciona você para a extensão GitHub Copilot App Modernization for Java no Visual Studio Code. Essa extensão fornece avaliação de aplicativos e correção de código como seus principais recursos para migrar aplicativos Java para o Azure - alimentado 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 aspetos da prontidão do Azure, nativo da nuvem e modernização 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 guias Dependências e Tecnologias exibem as bibliotecas e tecnologias usadas no aplicativo.
Informações pormenorizadas sobre uma questão específica
Para cada problema, você pode obter mais informações (o detalhe 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 ir para o código-fonte para destacar 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 melhorias.
- Suporte para analisar aplicativos Spring baseados em Gradle.
- Apoio na análise de projetos Open Liberty.
- Mostrar o progresso da avaliação exibindo o número de regras processadas durante a avaliação.
- Maven removido dos pré-requisitos.
- Substituído
airsonic.warporairsonic-advancedcomo o aplicativo de exemplo nos artefatos liberados.
7.6.0.6
Esta versão contém as seguintes correções e melhorias.
- 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.
- Corrigido o problema de dependências ausentes no relatório ao usar o modo
full(especificado por--mode). - O escopo da análise é restringido a destinos suportados pelo AppCAT quando nenhum destino é 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 melhorias.
- 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.
- Os usuários agora podem instalar o AppCAT em diretórios diferentes do diretório inicial do usuário.
- Corrigido um problema em que a execução de
analyzecom ambos--bulke--skip-static-reportnão conseguia gerar vários ficheiros de saída. - Resolvida uma falha na análise com
--bulke--rulesse nenhum provedor Java foi lançado. - Corrigido 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 ficheiros ou diretórios, utilize um ficheiro .appcat-ignore - que suporta 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 melhorias.
- Suporta a recolha de telemetria. Use o sinalizador para desativar a
--disable-telemetrytelemetria. - Refatora o formato de comando da CLI para torná-lo mais claro.
- Atualiza o
--sourceindicador, alterando de--source <source1> --source <source2> ...para--source <source1>,<source2>,... - Atualiza o
--targetindicador, alterando de--target <target1> --target <target2> ...para--target <target1>,<target2>,... - Atualiza o
--rulesindicador, alterando 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 - Remova a sinalização
--json-output, use a sinalização--output-format, escolha o formato de saída: 'yaml' ou 'json'. (yaml padrão) - Remove os
--providersinalizadores ,--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 predefinido é[]. - 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 predefinido é[]. - Uma nova
--dry-runflag: só verifica se as flags são válidas sem realmente executar a análise. O valor predefinido éfalse. - Remove
azure-spring-appsdo appcat--list-targets.
7.6.0.3
Esta versão contém as seguintes correções e melhorias.
- Novo
--limit-code-snipsindicador: controla os limites de trechos de código durante a avaliação da regra (0=ilimitado, -1=desactivar os trechos). - Corrigidas falhas de ficheiros de dependência ausentes no modo de análise em massa: a ferramenta já não interrompe 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-00150regra agora está a ser acionada corretamente.
7.6.0.1
Esta versão contém as seguintes correções e melhorias.
-
--analyze-known-librariesflag: Agora funciona no Windows. - Limpeza de diretórios: os diretórios extras criados durante a análise no Windows agora são limpos automaticamente.
-
--json-outputindicador: Agora operacional. - 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 regras 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.
-
--context-linesflag: Agora se comporta como esperado quando definido como 0. - Removido o requisito Python para executar a ferramenta.
7.6.0.0
Esta versão é baseada em um conjunto diferente de componentes do projeto Konveyor.
Atualizações gerais
- Novo motor baseado no projeto Konveyor Analyzer LSP , com uma CLI baseada no projeto Konveyor Kantra .
6.3.9.0
Esta versão contém as seguintes correções e inclui um conjunto de novas regras.
Atualizações gerais
- Alterações integradas a partir do repositório Windup upstream (6.3.9.Versão Final).
- Resolvidos links quebrados em descrições de regras e texto de ajuda.
Regras
- Fila de Mensagens do Azure: novas regras atualizadas e adicionadas para
azure-message-queue-rabbitmqeazure-message-queue-amqp. - Barramento de Serviço do Azure: foi introduzida uma regra de detecção para o Barramento de Serviço do Azure.
- MySQL e PostgreSQL: regras refinadas de deteção de dependência.
- Azure-AWS Rules: regras existentes melhoradas e aprimoradas.
- S3 Spring Starter: adicionada uma regra de deteção para o S3 Spring Starter.
- RabbitMQ Spring JMS: adicionada uma regra de deteção para RabbitMQ Spring JMS.
- Regras de registo: regras de registo atualizadas e aperfeiçoadas.
- Regra de armazenamento local: atualizou e refinou a regra de armazenamento local.
- Regra do Sistema de Arquivos do Azure: atualizada e refinada a regra do Sistema de Arquivos do Azure.
Bibliotecas
- Bibliotecas atualizadas para resolver vulnerabilidades de segurança.
6.3.0.9
Esta versão contém as seguintes correções e inclui um conjunto de novas regras.
- Resolvido um problema com a regra
localhost-java-00001. - Introduziu 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.
- Atualizado o
azure-file-system-02000para agora suportar extensões de arquivo XML. - Atualizou várias bibliotecas para resolver vulnerabilidades de segurança.
6.3.0.8
Anteriormente, um conjunto de objetivos era ativado por padrão, tornando difícil para certos clientes analisar grandes aplicativos com muitos problemas relacionados a questões menos críticas. Para reduzir o ruído nos relatórios, os usuários agora devem especificar vários destinos, com o parâmetro --target, ao executar appcat, dando-lhes a opção de selecionar apenas os alvos que importam.
6.3.0.7
Versão GA (Geralmente Disponível) do aplicativo Azure Migrate e avaliação de código.
Problemas conhecidos
7.6.0.7
- Questões de regras:
- As
azure-system-config-01000regras não estão sendo acionadas. - A
azure-password-01000regra deteta apenas uma violação, mesmo quando existem várias violações no mesmo arquivo.
- As
- Um erro no canal Watcher Error no Windows:
Windows system assumed buffer larger than it is, events have likely been missed. Esta mensagem de erro aparece na linha de comando durante trabalhos de longa execução no Windows.
7.6.0.6
- Questões de regras:
- As
azure-system-config-01000regras não estão sendo acionadas. - A
azure-password-01000regra deteta apenas uma violação, mesmo quando existem várias violações no mesmo arquivo.
- As
- Um erro no canal Watcher Error no Windows:
Windows system assumed buffer larger than it is, events have likely been missed. Esta mensagem de erro aparece na linha de comando durante trabalhos de longa execução no Windows.
7.6.0.5
- Questões de regras:
- As
azure-system-config-01000regras não estão sendo acionadas. - A
azure-password-01000regra deteta apenas uma violação, mesmo quando existem várias violações no mesmo arquivo.
- As
- Um erro no canal Watcher Error no Windows:
Windows system assumed buffer larger than it is, events have likely been missed. Esta mensagem de erro aparece na linha de comando durante trabalhos de longa execução no Windows.
7.6.0.4
- Questões de regras:
- As
azure-system-config-01000regras não estão sendo acionadas. - A
azure-password-01000regra deteta apenas uma violação, mesmo quando existem várias violações no mesmo arquivo.
- As
- Um erro no canal Watcher Error no Windows:
Windows system assumed buffer larger than it is, events have likely been missed. Esta mensagem de erro aparece na linha de comando durante trabalhos de longa execução no Windows.
7.6.0.3
- O sinalizador
--overrideProviderSettingsnão é suportado. - Questões de regras:
-
azure-system-config-01000,http-session-01000as regras não estão sendo acionadas. - A regra
FileSystem - Java IOnão está a ser acionada.
-
- Analisar arquivos WAR no Windows produz o 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 de erros do Watcher no Windows:
Windows system assumed buffer larger than it is, events have likely been missed. Esta mensagem de erro aparece na linha de comando durante trabalhos de longa execução no Windows. - + CtrlC não consegue parar a análise em curso. Para contornar o problema, encerre manualmente o processo terminando explicitamente o processo.
- Em relatórios de análise binária, o título do trecho de código mostra um caminho de arquivo incorreto ou inexistente.
7.6.0.2
- O sinalizador
--overrideProviderSettingsnão é suportado. - Questões de regras:
-
azure-system-config-01000,http-session-01000as regras não estão sendo acionadas. - A regra
FileSystem - Java IOnão está a ser acionada.
-
- Analisar arquivos WAR no Windows produz o 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 de erros do Watcher no Windows:
Windows system assumed buffer larger than it is, events have likely been missed. Esta mensagem de erro aparece na linha de comando durante trabalhos de longa execução no Windows. - + CtrlC não consegue parar a análise em curso. Para contornar o problema, encerre manualmente o processo terminando explicitamente o processo.
- Em relatórios de análise binária, o título do trecho de código mostra um caminho de arquivo incorreto ou inexistente.
7.6.0.1
- O sinalizador
--overrideProviderSettingsnão é suportado. - Questões de regras:
-
azure-system-config-01000,http-session-01000,java-removals-00150as regras não estão sendo acionadas. - A regra
FileSystem - Java IOnão está a ser acionada.
-
- Analisar arquivos WAR no Windows produz o 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 de erros do Watcher no Windows:
Windows system assumed buffer larger than it is, events have likely been missed. Esta mensagem de erro aparece na linha de comando durante trabalhos de longa execução no Windows. - + CtrlC não consegue parar a análise em curso. Para contornar o problema, encerre manualmente o processo terminando explicitamente o processo.
- Em relatórios de análise binária, o título do trecho 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 seguintes pastas extras 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 extras após a conclusão da análise.
- .metadados
- org.eclipse.osgi
- org.eclipse.equinox.app
- org.eclipse.core.runtime
- org.eclipse.equinox.launcher
- O sinalizador
--overrideProviderSettingsnão é suportado. - O sinalizador
--json-outputnão é suportado. Em uma versão futura, ele gera saídas JSON para os arquivos output.yaml e dependency.yaml . - Questões de regras:
-
azure-system-config-01000,http-session-01000,java-removals-00150as regras não estão sendo acionadas. - A regra
FileSystem - Java IOnão está a ser acionada. - Erro
unable to parse all the rules for rulesetao executar a análise. Este erro ocorre durante a análise quando a ferramenta não consegue analisar todas as regras no conjunto de regras.
-
- Analisar arquivos WAR no Windows produz o 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. - Faltam descrições para algumas regras na guia Insights . Algumas regras de tag não têm descrições, levando a que títulos em branco apareçam na guia Informações do relatório.
- Erro no canal de erro do observador no Windows:
Windows system assumed buffer larger than it is, events have likely been missed. Esta mensagem de erro aparece na linha de comando durante trabalhos de longa execução no Windows. - Esta versão requer uma conexão ativa com a Internet para análise de dependência.
- + CtrlC não consegue parar a análise em curso. Para contornar o problema, encerre manualmente o processo terminando explicitamente o processo.
- Quando o sinalizador
--context-linesé definido como um número 0, ele não funciona como esperado. Esse sinalizador permite que o usuário limite quanto do código-fonte deve aparecer no relatório. A configuração com um valor 0 pode não funcionar conforme o esperado.
Licença
O Azure Migrate application and code assessment for Java é uma ferramenta gratuita baseada em código aberto.
Recolha de dados
O AppCAT coleta dados de telemetria por padrão. A Microsoft agrega dados coletados para identificar padrões de uso, identificar problemas comuns e melhorar a experiência da CLI do AppCAT. A CLI do Microsoft AppCAT não coleta dados privados ou pessoais. Por exemplo, os dados de uso ajudam a identificar problemas como comandos com baixa taxa de sucesso. Estas informações ajudam-nos a priorizar o 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 mais informações, consulte a nossa declaração de privacidade .