Condividi tramite


Applicazione e valutazione del codice di Azure Migrate per Java versione 7 (anteprima)

Nota

Questo articolo è destinato alla prossima generazione di applicazioni e valutazione del codice di Azure Migrate per Java, versione 7.x. Questa versione è disponibile in anteprima. Per la versione stabile precedente, versione 6.x, vedere l'applicazione Azure Migrate e la valutazione del codice per Java.

Questo articolo illustra come usare l'applicazione Azure Migrate e lo strumento di valutazione del codice per Java per valutare e riformare qualsiasi tipo di applicazione Java. Lo strumento consente di valutare l'idoneità delle applicazioni per il trasferimento su altre piattaforme e la migrazione ad Azure. Questo strumento viene offerto come interfaccia della riga di comando e valuta i file binari dell'applicazione Java e il codice sorgente per identificare le opportunità di riplatforming e migrazione per Azure. Consente di modernizzare e trasferire su altre piattaforme applicazioni Java su larga scala identificando i casi d'uso e i modelli di codice comuni e proponendo le modifiche consigliate.

Lo strumento individua l'utilizzo della tecnologia delle applicazioni tramite l'analisi statica del codice, fornisce una stima del lavoro e accelera la ripiattaforma del codice. Questa valutazione consente di classificare in ordine di priorità e spostare applicazioni Java in Azure. Con un set di motori e regole, lo strumento può individuare e valutare tecnologie diverse, ad esempio Java 11, Java 17, Jakarta EE, Spring, Hibernate, Java Message Service (JMS) e altro ancora. Lo strumento consente quindi di riformformare l'applicazione Java in destinazioni di Azure diverse, app Azure Servizio, servizio Azure Kubernetes e App Azure Container, con regole di ripiattaforma di Azure specifiche.

Lo strumento si basa su un set di componenti nel progetto Cloud Native Computing FoundationKonveyor, creato e guidato da Red Hat.

Panoramica

Lo strumento è progettato per aiutare le organizzazioni a modernizzare le proprie applicazioni Java in modo da ridurre i costi e consentire un'innovazione più rapida. Lo strumento usa tecniche di analisi avanzate per comprendere la struttura e le dipendenze di qualsiasi applicazione Java e fornisce indicazioni su come effettuare il refactoring e la migrazione delle applicazioni ad Azure.

Lo strumento consente di effettuare le attività seguenti:

  • Individuare l'utilizzo della tecnologia: vedere rapidamente quali tecnologie usano un'applicazione. L'individuazione è utile se si dispone di applicazioni legacy senza molta documentazione e si vuole sapere quali tecnologie usano.
  • Valutare il codice in una destinazione specifica: valutare un'applicazione per una destinazione di Azure specifica. Controllare l’impegno e le modifiche da apportare per trasferire le applicazioni da altre piattaforme in Azure.

Destinazioni supportate

Lo strumento contiene regole che consentono di trasferire ad altre piattaforme le applicazioni, in modo da poter distribuire e usare i servizi di Azure seguenti.

Le regole usate dall'applicazione e dalla valutazione del codice di Azure Migrate vengono raggruppate in base a una destinazione. Una destinazione indica dove e come viene eseguita l'applicazione, oltre alle esigenze e alle aspettative generali. Quando si valuta un'applicazione, è possibile scegliere più destinazioni. La tabella seguente descrive le destinazioni disponibili:

Nome di destinazione Descrizione Destinazione
Servizio app di Azure Procedure consigliate per la distribuzione di un'app nel servizio app di Azure. azure-appservice
Servizio Azure Kubernetes Procedure consigliate per la distribuzione di un'app nel servizio Azure Kubernetes. azure-aks
App contenitore di Azure Procedure consigliate per la distribuzione di un'app in App contenitore di Azure. azure-container-apps
Idoneità del cloud Procedure generali consigliate per la preparazione di un'applicazione Cloud (Azure). cloud-readiness
Linux Procedure generali consigliate per la preparazione di un'applicazione Linux. linux
OpenJDK 11 Procedure generali consigliate per l'esecuzione di un'applicazione Java 8 con Java 11. openjdk11
OpenJDK 17 Procedure generali consigliate per l'esecuzione di un'applicazione Java 11 con Java 17. openjdk17
OpenJDK 21 Procedure generali consigliate per l'esecuzione di un'applicazione Java 17 con Java 21. openjdk21

Quando lo strumento valuta l'idoneità del cloud e dei servizi di Azure correlati, può anche segnalare informazioni utili per il potenziale utilizzo di servizi di Azure diversi. L'elenco seguente mostra alcuni dei servizi offerti:

  • Database di Azure
  • Bus di servizio di Azure
  • Archiviazione di Azure
  • Rete di distribuzione dei contenuti di Azure
  • Hub eventi di Azure
  • Azure Key Vault (Archivio chiavi di Azure)
  • Frontdoor di Azure

Scaricare e installare

Per usare l'interfaccia della appcat riga di comando, è necessario scaricare il pacchetto specifico dell'ambiente e avere le dipendenze necessarie nell'ambiente. L'interfaccia della appcat riga di comando viene eseguita in qualsiasi ambiente, ad esempio Windows, Linux o Mac, usando l'hardware Intel, Arm o Apple Silicon. Per il requisito JDK, è consigliabile usare Microsoft Build of OpenJDK.

Sistema operativo Architettura Collegamento di download Altri file
x64
Finestre x64 Scarica sha256 / sig
macOS x64 Scarica sha256 / sig
Linux x64 Scarica sha256 / sig
AArch64
Finestre AArch64/ ARM64 Scarica sha256 / sig
macOS Apple Silicon Scarica sha256 / sig
Linux AArch64/ ARM64 Scarica sha256 / sig

Prerequisiti

Installare AppCAT

Per installare appcat, scaricare il file ZIP appropriato per la piattaforma. Dopo aver scaricato il file, a seconda del sistema operativo, è necessario trovare un .tar.gz (Linux/macOS) o .zip file (Windows).

Estrarre il file binario dal file scaricato. Verrà visualizzata la struttura di cartelle seguente:

/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

Eseguire AppCAT

Per eseguire appcat da qualsiasi posizione nel terminale, estrarre l'archivio nella posizione desiderata. Aggiornare quindi la PATH variabile di ambiente in modo da includere la directory in cui è stato estratto l'archivio.

Nota

Quando viene chiamato il appcat file binario, cerca innanzitutto le relative dipendenze nella cartella eseguibile specificata nella PATH variabile di ambiente. Se le dipendenze non sono trovate, si ricorre alla home directory dell'utente - ~/.appcat su Linux/Mac o %USERPROFILE%\.appcat su Windows.

Utilizzo

Sottocomandi

AppCAT fornisce due sottocomandi per l'utilizzo:

  • analyze: eseguire l'analisi del codice sorgente sul codice sorgente di input o su un file binario.
  • transform: converte le regole XML dalle versioni precedenti (6 e precedenti) al formato YAML usato da questa versione.

Nota

Per gli utenti macOS: se si verifica un errore durante Apple could not verify il tentativo di esecuzione dell'app, è possibile risolvere questo errore usando il comando seguente:

xattr -d -r com.apple.quarantine /path/to/appcat_binary

Ad esempio:

xattr -d -r com.apple.quarantine $HOME/.appcat/appcat

Analizza sottocomando

Il analyze sottocomando consente di eseguire il codice sorgente e l'analisi binaria.

Per analizzare il codice sorgente dell'applicazione, usare il comando seguente:

./appcat analyze --input=<path-to-source-code> --output=<path-to-output-directory> --target=azure-appservice,cloud-readiness --overwrite

Il --input flag deve puntare a una directory del codice sorgente o a un file binario e --output deve puntare a una directory per archiviare i risultati dell'analisi.

Per altre informazioni sui flag di analisi, usare il comando seguente:

./appcat analyze --help

Per controllare le destinazioni disponibili per AppCAT, usare il comando seguente:

./appcat analyze --list-targets

Questo comando produce l'output seguente:

available target technologies:
azure-aks
azure-appservice
azure-container-apps
cloud-readiness
linux
openjdk11
openjdk17
openjdk21

Analisi di più applicazioni

AppCAT supporta più analisi delle applicazioni in base all'esecuzione dei comandi. È possibile fornire un elenco delimitato da virgole dei percorsi di input per il --input flag per analizzare più applicazioni in un singolo comando. La directory di output e il report statico includono i risultati di analisi combinati per tutte le applicazioni.

Per analizzare più applicazioni, usare il comando seguente:

./appcat analyze --input=<path-to-source-A>,<path-to-source-B>,<path-to-source-C> --output=<path-to-output-ABC> --target=<target-name>

AppCAT consente anche di usare --bulk l'opzione per aggiungere in modo incrementale altre analisi delle applicazioni a una directory di output esistente e a un report statico. Quando si usa l'opzione --bulk , è necessario usarla in modo coerente in tutte le esecuzioni di comandi che scrivono nello stesso output.

Nota

Quando si specificano più percorsi di input, --bulk è abilitato per impostazione predefinita.

Per aggiungere in modo incrementale altre analisi delle applicazioni a un report statico esistente, usare il comando seguente:

./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>

Trasforma sottocomando

Il transform sottocomando consente di convertire le regole XML precedenti appcat usate nella versione 6.x nel nuovo formato YAML usato da questa versione 7.x.

Per trasformare le regole, usare il comando seguente:

./appcat transform rules --input=<path-to-xml-rules> --output=<path-to-output-directory>

Il --input flag deve puntare a un file o a una directory contenente regole XML e il --output flag deve puntare alla directory di output per le regole YAML convertite.

Esempi

Nota

Assicurarsi che le autorizzazioni per i file per gli script nella cartella estratta siano impostate per consentire l'esecuzione.

Nella directory degli esempi è possibile trovare gli script seguenti per eseguire diversi tipi di analisi:

  • run-assessment: fornisce un report con valutazione del codice e passaggi per la migrazione di Airsonic al servizio app di Azure in Tomcat.
  • run-assessment-transform-rules: converte le regole XML windup in regole YAML compatibili con analyzer-lsp.
  • run-assessment-custom-rules: fornisce un report di valutazione del codice usando regole personalizzate (trasformare XML in YAML).
  • run-assessment-openjdk21: genera un report con valutazione del codice e passaggi per la migrazione di Airsonic a OpenJDK 21.
  • run-assessment-package-only: produce un report valutando pacchetti specifici.

Questi script sono progettati per essere usati con il progetto di esempio Airsonic-Advanced , un streamer multimediale basato sulla community che consente di accedere e condividere la raccolta musicale.

È possibile clonare manualmente il repository dell'applicazione usando il comando seguente:

git clone https://github.com/airsonic-advanced/airsonic-advanced.git

Dopo la clonazione, specificare il percorso della cartella clonata durante l'esecuzione degli script di valutazione. A seconda del sistema operativo, eseguire lo script appropriato, come illustrato nell'esempio seguente:

Nota

Assicurarsi di aver clonato il progetto Airsonic Advanced in un percorso locale prima di eseguire gli script.

./samples/run-assessment <path-to-airsonic-advanced>

I report vengono generati e avviati automaticamente. È possibile trovare i report in .. /samples/report-* (Linux/macOS) o .. \samples\report-* (Windows).

Riepilogo dell'analisi

La pagina di destinazione del report presenta una visualizzazione riepilogativa di tutte le applicazioni analizzate. Da qui è possibile passare ai singoli report dell'applicazione per esplorare i risultati dettagliati.

Screenshot del riepilogo del report appcat.

Il pulsante Ask Copilot nell'angolo superiore destro reindirizza l'utente all'estensione GitHub Copilot App Modernization for Java in Visual Studio Code. Questa estensione fornisce sia la valutazione delle app che la correzione del codice come funzionalità chiave per la migrazione di applicazioni Java ad Azure, basate sulle funzionalità di intelligenza artificiale di AppCAT e GitHub Copilot.

Report di valutazione

Il report di valutazione fornisce un elenco di problemi categorizzato di vari aspetti della preparazione di Azure, della modernizzazione nativa del cloud e java che è necessario risolvere per eseguire correttamente la migrazione dell'applicazione ad Azure.

Ogni problema è categorizzato in base alla gravità - Obbligatorio, Facoltativo o Potenziale - e include il numero di righe di codice interessate.

Le schede Dipendenze e tecnologie visualizzano le librerie e le tecnologie usate all'interno dell'applicazione.

Screenshot del rapporto di valutazione AppCAT.

Informazioni dettagliate per un problema specifico

Per ogni problema, è possibile ottenere altre informazioni (dettagli del problema, il contenuto della regola e così via) semplicemente selezionandolo. Si ottiene anche l'elenco di tutti i file interessati da questo problema.

Screenshot del rapporto dettagliato del problema di AppCAT.

Quindi, per ogni file o classe interessata dal problema, è possibile passare al codice sorgente per evidenziare la riga di codice che ha creato il problema.

Screenshot del report del codice del problema di AppCAT.

Note sulla versione

7.6.0.7

Questa versione contiene le correzioni e i miglioramenti seguenti.

  • Supporto per analizzare le app Spring basate su Gradle.
  • Supporto per analizzare i progetti Open Liberty.
  • Visualizzare lo stato di avanzamento della valutazione visualizzando il numero di regole elaborate durante la valutazione.
  • Rimosso Maven dai prerequisiti.
  • Sostituito airsonic.war con airsonic-advanced come applicazione di esempio negli artefatti rilasciati.

7.6.0.6

Questa versione contiene le correzioni e i miglioramenti seguenti.

  • Un file .appcat-ignore predefinito è ora incluso nel pacchetto di rilascio per impostazione predefinita. Questo file fa sì che lo strumento escluda cartelle o percorsi specificati che non devono essere analizzati.
  • È stato risolto il problema delle dipendenze mancanti nel report quando si utilizza la modalità full (specificata tramite --mode).
  • Analisi limitata agli obiettivi supportati da AppCAT quando non vengono specificati obiettivi.
  • Righe di commento ignorate durante l'analisi.
  • Corretto la posizione errata per le regole XML.

7.6.0.5

Questa versione contiene le correzioni e i miglioramenti seguenti.

  • Il --input flag accetta ora più valori, consentendo di analizzare più applicazioni in un'esecuzione di un singolo comando.
  • Il report statico classifica il relativo elenco di problemi per una migliore leggibilità.
  • Gli utenti possono ora installare AppCAT in directory diverse dalla home directory dell'utente.
  • È stato risolto un problema a causa del quale l'esecuzione analyze con --bulk e --skip-static-report non è riuscita a generare più file di output.
  • È stato risolto un errore durante l'analisi con --bulk e --rules se non è stato avviato alcun provider Java.
  • È stato risolto un problema a causa del quale l'analisi non riesce se non è stato trovato un pacchetto specificato quando si usa il --packages flag .
  • Il --exclude-paths parametro è obsoleto. Per escludere file o directory, usare un file .appcat-ignore, che supporta i pattern glob, inserito nella directory di input o nella directory di installazione.

7.6.0.4

Questa versione contiene le correzioni e i miglioramenti seguenti.

  • Supporta la raccolta di dati di telemetria. Usa il flag --disable-telemetry per disabilitare la telemetria.
  • Riformatta il formato del comando CLI per renderlo più chiaro.
    • Aggiorna il --source flag, passando da --source <source1> --source <source2> ... a --source <source1>,<source2>,...
    • Aggiorna il --target flag, passando da --target <target1> --target <target2> ... a --target <target1>,<target2>,...
    • Aggiorna il --rules flag, passando da --rules <rule1> --rules <rule2> ... a --rules <rule1>,<rule2>,...
    • Aggiorna il --maven-settings flag a --custom-maven-settings
    • Aggiorna il --limit-code-snips flag a --code-snips-number
    • Rimuove il --json-output flag, usa --output-format il flag, scegli il formato di output: 'yaml' o 'json'. (yaml predefinito)
    • Rimuove le bandiere --provider, --override-provider-settings, --list-providers e --dependency-folders
  • --exclude-paths Nuovo flag: specifica i percorsi che devono essere ignorati nell'analisi. Usare un elenco delimitato da virgole per più valori: --exclude-paths <path1>,<path2>,.... Il valore predefinito è [].
  • --packages Nuovo flag: specifica i pacchetti della classe dell'applicazione da valutare. Usare un elenco delimitato da virgole per più valori: --packages <package1>,<package2>,.... Il valore predefinito è [].
  • Un nuovo --dry-run flag: controlla solo se i flag sono validi senza eseguire effettivamente l'analisi. Il valore predefinito è false.
  • Rimuove azure-spring-apps dall'appcat --list-targets.

7.6.0.3

Questa versione contiene le correzioni e i miglioramenti seguenti.

  • Nuovo --limit-code-snips indicatore: controlla i limiti dei frammenti di codice durante la valutazione delle regole (0 = illimitato, -1 = disabilita frammenti).
  • Correzione degli errori dei file di dipendenza mancanti in modalità di analisi bulk: lo strumento non viene più interrotto durante l'analisi bulk per progetti non Java o progetti Java usando --mode=source-only.

7.6.0.2

Questa versione contiene le correzioni seguenti.

  • java-removals-00150 ora la regola viene attivata correttamente.

7.6.0.1

Questa versione contiene le correzioni e i miglioramenti seguenti.

  • --analyze-known-libraries flag: ora funziona in Windows.
  • Pulizia directory: le directory aggiuntive create durante l'analisi in Windows vengono ora pulite automaticamente.
  • --json-output flag: ora operativo.
  • Errore di analisi delle regole: l'errore unable to parse all the rules for ruleset viene risolto.
  • Descrizioni della scheda Approfondimenti: ora sono presenti le descrizioni delle regole mancanti.
  • Dipendenza connessione Internet: l'analisi non riesce più senza una connessione Internet.
  • --context-lines flag: ora si comporta come previsto quando è impostato su 0.
  • Rimozione del requisito python per eseguire lo strumento.

7.6.0.0

Questa versione si basa su un set diverso di componenti del progetto Konveyor.

Aggiornamenti generali

6.3.9.0

Questa versione contiene le correzioni seguenti e include un set di nuove regole.

Aggiornamenti generali

  • Modifiche integrate dal repository upstream Windup (versione 6.3.9.Final).
  • Collegamenti interrotti risolti nelle descrizioni delle regole e testo della Guida.

Norme

  • Coda messaggi di Azure: aggiornata e aggiunta di nuove regole per azure-message-queue-rabbitmq e azure-message-queue-amqp.
  • bus di servizio di Azure: è stata introdotta una regola di rilevamento per bus di servizio di Azure.
  • MySQL e PostgreSQL: regole di rilevamento delle dipendenze ottimizzate.
  • Regole di Azure-AWS: regole esistenti migliorate e migliorate.
  • S3 Spring Starter: aggiunta di una regola di rilevamento per S3 Spring Starter.
  • RabbitMQ Spring JMS: è stata aggiunta una regola di rilevamento per RabbitMQ Spring JMS.
  • Regole di registrazione: regole aggiornate e ottimizzate per la registrazione.
  • Regola di archiviazione locale: aggiornata e perfezionata la regola di archiviazione locale.
  • Regola del file system di Azure: aggiornata e perfezionata la regola del file system di Azure.

Biblioteche

  • Librerie aggiornate per risolvere le vulnerabilità di sicurezza.

6.3.0.9

Questa versione contiene le correzioni seguenti e include un set di nuove regole.

  • È stato risolto un problema con la localhost-java-00001 regola.
  • Sono state introdotte nuove regole per identificare tecnologie come AWS S3, AWS SQS, Alibaba Sistema operativo cloud S, Alibaba Cloud SMS, Alibaba Scheduler X, Alibaba Cloud Seata e Alibaba Rocket MQ.
  • Aggiornato per azure-file-system-02000 supportare ora le estensioni di file XML.
  • Aggiornamento di varie librerie per risolvere le vulnerabilità di sicurezza.

6.3.0.8

In precedenza, un set di obiettivi era abilitato per impostazione predefinita, rendendo difficile per alcuni clienti valutare applicazioni di grandi dimensioni con troppi problemi meno critici. Per ridurre il rumore nei report, ora gli utenti devono specificare più destinazioni con il parametro --target durante l'esecuzione di appcat; ciò consente loro di selezionare solo le destinazioni importanti.

6.3.0.7

Versione disponibile a livello generale (disponibilità generale) di valutazione di applicazioni e codice di Azure Migrate.

Problemi noti

7.6.0.7

  • Problemi relativi alle regole:
    • Le azure-system-config-01000 regole non vengono attivate.
    • La azure-password-01000 regola rileva una sola violazione, anche se esistono più violazioni nello stesso file.
  • Errore nel canale di errore Watcher su Windows: Windows system assumed buffer larger than it is, events have likely been missed. Questo messaggio di errore viene visualizzato nella riga di comando durante i processi a esecuzione prolungata in Windows.

7.6.0.6

  • Problemi relativi alle regole:
    • Le azure-system-config-01000 regole non vengono attivate.
    • La azure-password-01000 regola rileva una sola violazione, anche se esistono più violazioni nello stesso file.
  • Errore nel canale di errore Watcher su Windows: Windows system assumed buffer larger than it is, events have likely been missed. Questo messaggio di errore viene visualizzato nella riga di comando durante i processi a esecuzione prolungata in Windows.

7.6.0.5

  • Problemi relativi alle regole:
    • Le azure-system-config-01000 regole non vengono attivate.
    • La azure-password-01000 regola rileva una sola violazione, anche se esistono più violazioni nello stesso file.
  • Errore nel canale di errore Watcher su Windows: Windows system assumed buffer larger than it is, events have likely been missed. Questo messaggio di errore viene visualizzato nella riga di comando durante i processi a esecuzione prolungata in Windows.

7.6.0.4

  • Problemi relativi alle regole:
    • Le azure-system-config-01000 regole non vengono attivate.
    • La azure-password-01000 regola rileva una sola violazione, anche se esistono più violazioni nello stesso file.
  • Errore nel canale di errore Watcher su Windows: Windows system assumed buffer larger than it is, events have likely been missed. Questo messaggio di errore viene visualizzato nella riga di comando durante i processi a esecuzione prolungata in Windows.

7.6.0.3

  • Il flag --overrideProviderSettings non è supportato.
  • Problemi relativi alle regole:
    • azure-system-config-01000, http-session-01000 le regole non vengono attivate.
    • FileSystem - Java IO la regola non viene attivata.
  • L'analisi dei file WAR in Windows genera l'errore seguente: Failed to Move Decompiled File. Si verifica un errore durante l'analisi dei file WAR in Windows, che è responsabile di alcuni problemi ridondanti creati nel sistema operativo Windows.
  • Errore nel canale di errore watcher in Windows: Windows system assumed buffer larger than it is, events have likely been missed. Questo messaggio di errore viene visualizzato nella riga di comando durante i processi a esecuzione prolungata in Windows.
  • Ctrl+C non riesce ad arrestare l'analisi in corso. Per risolvere il problema, terminare manualmente il processo eliminando in modo esplicito il processo.
  • Nei report di analisi binaria il titolo del frammento di codice mostra un percorso di file non corretto o inesistente.

7.6.0.2

  • Il flag --overrideProviderSettings non è supportato.
  • Problemi relativi alle regole:
    • azure-system-config-01000, http-session-01000 le regole non vengono attivate.
    • FileSystem - Java IO la regola non viene attivata.
  • L'analisi dei file WAR in Windows genera l'errore seguente: Failed to Move Decompiled File. Si verifica un errore durante l'analisi dei file WAR in Windows, che è responsabile di alcuni problemi ridondanti creati nel sistema operativo Windows.
  • Errore nel canale di errore watcher in Windows: Windows system assumed buffer larger than it is, events have likely been missed. Questo messaggio di errore viene visualizzato nella riga di comando durante i processi a esecuzione prolungata in Windows.
  • Ctrl+C non riesce ad arrestare l'analisi in corso. Per risolvere il problema, terminare manualmente il processo eliminando in modo esplicito il processo.
  • Nei report di analisi binaria il titolo del frammento di codice mostra un percorso di file non corretto o inesistente.

7.6.0.1

  • Il flag --overrideProviderSettings non è supportato.
  • Problemi relativi alle regole:
    • azure-system-config-01000, http-session-01000, java-removals-00150 le regole non vengono attivate.
    • FileSystem - Java IO la regola non viene attivata.
  • L'analisi dei file WAR in Windows genera l'errore seguente: Failed to Move Decompiled File. Si verifica un errore durante l'analisi dei file WAR in Windows, che è responsabile di alcuni problemi ridondanti creati nel sistema operativo Windows.
  • Errore nel canale di errore watcher in Windows: Windows system assumed buffer larger than it is, events have likely been missed. Questo messaggio di errore viene visualizzato nella riga di comando durante i processi a esecuzione prolungata in Windows.
  • Ctrl+C non riesce ad arrestare l'analisi in corso. Per risolvere il problema, terminare manualmente il processo eliminando in modo esplicito il processo.
  • Nei report di analisi binaria il titolo del frammento di codice mostra un percorso di file non corretto o inesistente.

7.6.0.0

  • Il flag --analyze-known-libraries non funziona in Windows.
  • In Windows, durante il processo di analisi vengono generate le cartelle aggiuntive seguenti, ma non vengono rimosse automaticamente dopo il completamento. È possibile rimuovere queste cartelle aggiuntive al termine dell'analisi.
    • Metadati
    • org.eclipse.osgi
    • org.eclipse.equinox.app
    • org.eclipse.core.runtime
    • org.eclipse.equinox.launcher
  • Il flag --overrideProviderSettings non è supportato.
  • Il flag --json-output non è supportato. Nella versione futura, genera gli output JSON per i file output.yaml e dependency.yaml.
  • Problemi relativi alle regole:
    • azure-system-config-01000, http-session-01000, java-removals-00150 le regole non vengono attivate.
    • FileSystem - Java IO la regola non viene attivata.
    • Errore unable to parse all the rules for ruleset durante l'esecuzione dell'analisi. Questo errore si verifica durante l'analisi quando lo strumento non riesce ad analizzare tutte le regole nel set di regole.
  • L'analisi dei file WAR in Windows genera l'errore seguente: Failed to Move Decompiled File. Si verifica un errore durante l'analisi dei file WAR in Windows, che è responsabile di alcuni problemi ridondanti creati nel sistema operativo Windows.
  • Descrizioni mancanti per alcune regole nella scheda Informazioni dettagliate . Alcune regole di tag non contengono descrizioni, causando la visualizzazione di titoli vuoti nella scheda Informazioni dettagliate del report.
  • Errore nel canale Errore Watcher su Windows: Windows system assumed buffer larger than it is, events have likely been missed. Questo messaggio di errore viene visualizzato nella riga di comando durante i processi a esecuzione prolungata in Windows.
  • Questa versione richiede una connessione Internet attiva per l'analisi delle dipendenze.
  • Ctrl+C non riesce ad arrestare l'analisi in corso. Per risolvere il problema, terminare manualmente il processo eliminando in modo esplicito il processo.
  • Quando il flag --context-lines è impostato su un numero 0, non funziona come previsto. Questo flag consente all'utente di limitare la quantità di codice sorgente da visualizzare nel report. L'impostazione su un valore 0 potrebbe non funzionare come previsto.

Licenza

L'applicazione e la valutazione del codice di Azure Migrate per Java sono uno strumento gratuito basato su open source.

Raccolta dei dati

AppCAT raccoglie i dati di telemetria per impostazione predefinita. Microsoft aggrega i dati raccolti per identificare i modelli di utilizzo per identificare i problemi comuni e migliorare l'esperienza dell'interfaccia della riga di comando di AppCAT. L'interfaccia della riga di comando di Microsoft AppCAT non raccoglie dati privati o personali. Ad esempio, i dati di utilizzo consentono di identificare problemi come i comandi con bassa frequenza di esito positivo. Queste informazioni ci aiutano a classificare in ordine di priorità il nostro lavoro.

Anche se apprezziamo le informazioni dettagliate fornite da questi dati, sappiamo anche che non tutti vogliono inviare dati di utilizzo. È possibile disabilitare la raccolta dati usando il appcat analyze --disable-telemetry comando . Per ulteriori informazioni, vedere la nostra informativa sulla privacy .