Aplikace Azure Migrate a posouzení kódu pro Javu verze 7 (Preview)

Poznámka:

Tento článek je určený pro novou generaci aplikace Azure Migrate a posouzení kódu pro Javu verze 7.x. Tato verze je ve verzi Preview. Předchozí stabilní verzi verze 6.x najdete v tématu o aplikaci Azure Migrate a posouzení kódu pro Javu.

V tomto článku se dozvíte, jak pomocí nástroje pro posouzení kódu a aplikace Azure Migrate pro Javu vyhodnotit a znovu vytvořit jakýkoli typ aplikace v Javě. Nástroj umožňuje vyhodnotit připravenost aplikací na opětovné vytvoření a migraci do Azure. Tento nástroj se nabízí jako rozhraní příkazového řádku (CLI) a vyhodnocuje binární soubory aplikací v Javě a zdrojový kód k identifikaci příležitostí k přeformulování a migraci pro Azure. Pomáhá modernizovat a znovu vytvářet rozsáhlé aplikace v Javě tím, že identifikuje běžné případy použití a vzory kódu a navrhuje doporučené změny.

Nástroj zjišťuje využití aplikačních technologií prostřednictvím statické analýzy kódu, poskytuje odhad úsilí a urychluje přeformulování kódu. Toto posouzení vám pomůže určit prioritu a přesunout aplikace v Javě do Azure. Díky sadě modulů a pravidel může nástroj objevit a posoudit různé technologie, jako je Java 11, Java 17, Jakarta EE, Spring, Hibernate, Java Message Service (JMS) a další. Nástroj vám pak pomůže znovu vytvořit aplikaci v Javě na různé cíle Azure – Aplikace Azure Service, Azure Kubernetes Service a Azure Container Apps – s konkrétními pravidly přeplatformování Azure.

Tento nástroj je založený na sadě komponent v projektuKonveyor, který vytvořil a vedl Red Hat.

Přehled

Tento nástroj je navržený tak, aby organizacím pomohl modernizovat své aplikace v Javě způsobem, který snižuje náklady a umožňuje rychlejší inovace. Nástroj používá pokročilé techniky analýzy k pochopení struktury a závislostí jakékoli aplikace v Javě a poskytuje pokyny k refaktoringu a migraci aplikací do Azure.

S ním můžete provádět následující úlohy:

  • Objevte využití technologií: Rychle zjistíte, které technologie aplikace používá. Zjišťování je užitečné, pokud máte starší verze aplikací, které nemají moc dokumentace, a chcete vědět, které technologie používají.
  • Posouzení kódu pro konkrétní cíl: Posouzení aplikace pro konkrétní cíl Azure Zkontrolujte úsilí a změny, které je potřeba udělat k opětovnému vytvoření aplikací do Azure.

Podporované cíle

Nástroj obsahuje pravidla, která vám pomůžou znovu vytvořit aplikace, abyste mohli nasazovat a používat různé služby Azure.

Pravidla používaná aplikací Azure Migrate a posouzením kódu se seskupují podle cíle. Cílem je umístění nebo způsob spuštění aplikace a obecné potřeby a očekávání. Při posuzování aplikace můžete zvolit více cílů. Následující tabulka popisuje dostupné cíle:

Cílový název Popis Cíl
Azure App Service Osvědčené postupy pro nasazení aplikace do služby Aplikace Azure Service azure-appservice
Azure Kubernetes Service Osvědčené postupy pro nasazení aplikace do služby Azure Kubernetes Service azure-aks
Azure Container Apps (aplikace pro kontejnery) Osvědčené postupy pro nasazení aplikace do Azure Container Apps azure-container-apps
Připravenost na cloud Obecné osvědčené postupy pro připravenost aplikačního cloudu (Azure) cloud-readiness
Operační systém Linux Obecné osvědčené postupy pro vytvoření aplikace pro Linux linux
OpenJDK 11 Obecné osvědčené postupy pro spuštění aplikace Java 8 s Javou 11 openjdk11
OpenJDK 17 Obecné osvědčené postupy pro spuštění aplikace Java 11 s Javou 17 openjdk17
OpenJDK 21 Obecné osvědčené postupy pro spuštění aplikace Java 17 s Javou 21 openjdk21

Když nástroj vyhodnotí připravenost na cloud a související služby Azure, může také hlásit užitečné informace pro potenciální využití různých služeb Azure. Následující seznam obsahuje několik zahrnutých služeb:

  • Databáze Azure
  • Azure Service Bus (služba pro správu a směrování zpráv)
  • Azure Storage
  • Síť pro doručování obsahu Azure
  • Azure Event Hubs
  • Azure Key Vault
  • Azure Front Door (přední dveře Azure)

Stažení a instalace

Pokud chcete použít rozhraní příkazového appcat řádku, musíte stáhnout balíček specifický pro vaše prostředí a mít požadované závislosti ve vašem prostředí. Rozhraní appcat příkazového řádku běží v libovolném prostředí, jako je Windows, Linux nebo Mac, pomocí hardwaru Intel, Arm nebo Apple Silicon. Ohledně požadavků na JDK doporučujeme použít Microsoft Build pro OpenJDK.

Operační systém Architektura Odkaz ke stažení Další soubory
x64
Windows Procesor x64 Stáhnout sha256 / Sig
macOS Procesor x64 Stáhnout sha256 / Sig
Operační systém Linux Procesor x64 Stáhnout sha256 / Sig
AArch64
Windows AArch64 / ARM64 Stáhnout sha256 / Sig
macOS Apple Silicon Stáhnout sha256 / Sig
Operační systém Linux AArch64 / ARM64 Stáhnout sha256 / Sig

Požadavky

Nainstalujte AppCAT

Pokud chcete nainstalovat appcat, stáhněte si příslušný soubor ZIP pro vaši platformu. Po stažení souboru v závislosti na operačním systému byste měli najít soubor .tar.gz (Linux/macOS) nebo soubor.zip (Windows).

Extrahujte binární soubor ze staženého souboru. Měla by se zobrazit následující struktura složek:

/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

Spuštění AppCAT

Pokud chcete spustit appcat z libovolného umístění v terminálu, extrahujte archiv do požadovaného umístění. Potom aktualizujte proměnnou PATH prostředí tak, aby zahrnovala adresář, do kterého jste extrahovali archiv.

Poznámka:

Při zavolání binárního appcat souboru nejprve vyhledá závislosti ve spustitelné složce zadané v PATH proměnné prostředí. Pokud se závislosti nenajdou, vrátí se do domovského adresáře uživatele – ~/.appcat v Linuxu nebo Mac nebo %USERPROFILE%\.appcat ve Windows.

Využití

Podpříkazy

AppCAT poskytuje dva dílčí příkazy pro použití:

  • analyze: Spusťte analýzu zdrojového kódu u vstupního zdrojového kódu nebo binárního souboru.
  • transform: Převeďte pravidla XML z předchozích verzí (6 a starších) na formát YAML používaný touto verzí.

Poznámka:

Pro uživatele macOS: Pokud při pokusu o spuštění aplikace dojde k chybě Apple could not verify , můžete tuto chybu vyřešit pomocí následujícího příkazu:

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

Příklad:

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

Analýza podpříkazu

Podpříkaz analyze umožňuje spustit zdrojový kód a binární analýzu.

Pokud chcete analyzovat zdrojový kód aplikace, použijte následující příkaz:

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

Příznak --input musí odkazovat na adresář zdrojového kódu nebo binární soubor a --output musí odkazovat na adresář pro uložení výsledků analýzy.

Další informace o příznakech analýzy najdete v následujícím příkazu:

./appcat analyze --help

Pokud chcete zkontrolovat dostupné cíle pro AppCAT, použijte následující příkaz:

./appcat analyze --list-targets

Tento příkaz vytvoří následující výstup:

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

Analýza více aplikací

AppCAT podporuje více analýz aplikací v jednotlivých spuštěních příkazů. Můžete zadat čárkami oddělený seznam vstupních cest příznaku --input k analýze více aplikací v jednom příkazu. Výstupní adresář a statická sestava zahrnují výsledky kombinované analýzy všech aplikací.

Pokud chcete analyzovat více aplikací, použijte následující příkaz:

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

AppCAT také umožňuje použít možnost --bulk pro postupné přidávání dalších analýz aplikace do existujícího výstupního adresáře a statické zprávy. Když použijete --bulk tuto možnost, musíte ji používat konzistentně ve všech spuštěních příkazů, které zapisují do stejného výstupu.

Poznámka:

Pokud zadáte více vstupních cest, --bulk je ve výchozím nastavení povolená.

Pokud chcete přírůstkově přidat další analýzu aplikace do existující statické sestavy, použijte následující příkaz:

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

Transformovat podpříkaz

Podpříkaz transform umožňuje převést předchozí appcat pravidla XML použitá ve verzi 6.x do nového formátu YAML používaného touto verzí 7.x.

K transformaci pravidel použijte následující příkaz:

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

Příznak --input by měl odkazovat na soubor nebo adresář obsahující pravidla XML a --output příznak by měl odkazovat na výstupní adresář pro převedená pravidla YAML.

Ukázky

Poznámka:

Ujistěte se, že jsou oprávnění k souborům pro skripty v extrahované složce nastavená tak, aby povolovala provádění.

V adresáři ukázek najdete následující skripty pro spuštění různých typů analýzy:

  • run-assessment: Poskytuje zprávu s hodnocením kódu a kroky pro migraci Airsonic do služby Azure App Service na serveru Tomcat.
  • run-assessment-transform-rules: Převede pravidla XML aplikace Windup na pravidla YAML kompatibilní s analyzátorem lsp.
  • run-assessment-custom-rules: Poskytuje sestavu posouzení kódu pomocí vlastních pravidel (transformace XML na YAML).
  • run-assessment-openjdk21: Vygeneruje sestavu s posouzením kódu a kroky pro migraci Airsonic na OpenJDK 21.
  • run-assessment-package-only: Vytvoří sestavu vyhodnocením konkrétních balíčků.

Tyto skripty jsou určeny k použití s ukázkovým projektem Airsonic-Advanced – komunitním webovým streamerem médií, který umožňuje přístup ke kolekci hudby a jejich sdílení.

Úložiště aplikace můžete naklonovat ručně pomocí následujícího příkazu:

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

Po klonování zadejte cestu ke naklonované složce při spuštění skriptů posouzení. V závislosti na operačním systému spusťte příslušný skript, jak je znázorněno v následujícím příkladu:

Poznámka:

Před spuštěním skriptů se ujistěte, že jste naklonovali projekt Airsonic Advanced do místní cesty.

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

Sestavy se automaticky vygenerují a spustí. Sestavy najdete v části .. /samples/report-* (Linux/macOS) nebo .. \samples\report-* (Windows).

Shrnutí analýzy

Úvodní stránka sestavy představuje souhrnné zobrazení všech analyzovaných aplikací. Odtud můžete přejít na jednotlivé reporty aplikací a prozkoumat podrobná zjištění.

Snímek obrazovky souhrnné zprávy Appcat

Tlačítko Ask Copilot v pravém horním rohu vás přesměruje na rozšíření GitHub Copilot App Modernization for Java v editoru Visual Studio Code. Toto rozšíření poskytuje posouzení aplikací i nápravu kódu jako své klíčové funkce pro migraci aplikací v Javě do Azure – využívá appCAT a možnosti AI GitHub Copilotu.

Sestava posouzení

Sestava posouzení poskytuje seznam problémů zařazených do kategorií s různými aspekty připravenosti Azure, nativního cloudu a modernizace Javy, které potřebujete vyřešit, abyste mohli úspěšně migrovat aplikaci do Azure.

Každý problém je zařazený do kategorií podle závažnosti – povinné, volitelné nebo potenciální – a zahrnuje počet ovlivněných řádků kódu.

Karty Závislosti a technologie zobrazují knihovny a technologie používané v aplikaci.

Snímek obrazovky sestavy hodnocení AppCAT

Podrobné informace o konkrétním problému

U každého problému můžete získat další informace (podrobnosti o problému, obsah pravidla atd.) jednoduše tak, že ho vyberete. Zobrazí se také seznam všech souborů ovlivněných tímto problémem.

Snímek obrazovky se sestavou podrobností o problému AppCAT

U každého souboru nebo třídy ovlivněného problémem pak můžete přejít do zdrojového kódu a zvýraznit řádek kódu, který problém vytvořil.

Snímek obrazovky se zprávou o problému kódu AppCAT

Poznámky k verzi

7.6.0.7

Tato verze obsahuje následující opravy a vylepšení.

  • Podpora analýzy aplikací Spring založených na Gradle
  • Podpora analýzy projektů Open Liberty
  • Zobrazení průběhu posouzení zobrazením počtu zpracovaných pravidel během hodnocení
  • Maven byl odstraněn z požadavků.
  • Nahrazeno airsonic.warairsonic-advanced jako ukázková aplikace v vydaných artefaktech.

7.6.0.6

Tato verze obsahuje následující opravy a vylepšení.

  • Výchozí soubor .appcat-ignore je teď ve výchozím nastavení součástí balíčku verze. Tento soubor způsobí, že nástroj vyloučí zadané složky nebo cesty, které není potřeba analyzovat.
  • Opravili jsme problém s chybějícími závislostmi ve zprávě při použití režimu full, který je určen pomocí --mode.
  • Vymezená analýza pro cíle podporované službou AppCAT, pokud nejsou specifikovány žádné cíle.
  • Během analýzy byly ignorovány řádky komentářů
  • Opravili jsme nesprávné umístění pravidel XML.

7.6.0.5

Tato verze obsahuje následující opravy a vylepšení.

  • Příznak --input teď přijímá více hodnot a umožňuje analyzovat více aplikací v jediném spuštění příkazu.
  • Statická sestava kategorizuje seznam problémů pro lepší čitelnost.
  • Uživatelé teď můžou AppCAT nainstalovat do adresářů jiných než domovského adresáře uživatele.
  • Opravili jsme problém, kdy se při spuštění analyze spolu s --bulk a --skip-static-report nepodařilo vygenerovat více výstupních souborů.
  • Vyřešili jsme chybu při analýze s --bulk a --rules, pokud nebyl spuštěn žádný poskytovatel Javy.
  • Opravili jsme problém, kdy analýza selhala, pokud se při použití příznaku --packages nenašel zadaný balíček.
  • Příznak --exclude-paths je zastaralý. Pokud chcete vyloučit soubory nebo adresáře, použijte soubor .appcat-ignore – podpůrné vzory globů – umístěné ve vstupním adresáři nebo instalačním adresáři.

7.6.0.4

Tato verze obsahuje následující opravy a vylepšení.

  • Podporuje shromažďování telemetrických dat. Pomocí příznaku --disable-telemetry zakažte telemetrii.
  • Refaktoruje formát rozhraní příkazového řádku, aby byl přehlednější.
    • Aktualizuje příznak --source, který se změní z --source <source1> --source <source2> ... na --source <source1>,<source2>,...
    • Aktualizuje příznak --target, který se změní z --target <target1> --target <target2> ... na --target <target1>,<target2>,...
    • Aktualizuje příznak --rules, který se změní z --rules <rule1> --rules <rule2> ... na --rules <rule1>,<rule2>,...
    • Aktualizuje příznak --maven-settings na --custom-maven-settings
    • Aktualizuje příznak --limit-code-snips na --code-snips-number
    • Odebere --json-output příznak, použije --output-format příznak, zvolí výstupní formát: yaml nebo json. (výchozí yaml)
    • Odebere příznaky --provider, --override-provider-settings, --list-providers a --dependency-folders.
  • Nový --exclude-paths příznak: Určuje cesty, které se mají v analýze ignorovat. Pro více hodnot použijte čárkami oddělený seznam: --exclude-paths <path1>,<path2>,.... Výchozí hodnota je [].
  • Nový --packages příznak: Určuje balíčky tříd aplikace, které se mají vyhodnotit. Pro více hodnot použijte čárkami oddělený seznam: --packages <package1>,<package2>,.... Výchozí hodnota je [].
  • Nový --dry-run příznak: Pouze kontroluje, jestli jsou příznaky platné bez skutečného spuštění analýzy. Výchozí hodnota je false.
  • Odebere azure-spring-apps z appcatu --list-targets.

7.6.0.3

Tato verze obsahuje následující opravy a vylepšení.

  • Nový --limit-code-snips příznak: Řídí limity fragmentů kódu během vyhodnocování pravidel (0=neomezený, -1=zakázat fragmenty kódu).
  • Opraveny chyby selhání souborů závislostí v režimu hromadné analýzy: Nástroj již nepřerušuje hromadnou analýzu pro projekty, které nejsou v Javě, nebo pro projekty v Javě používající --mode=source-only.

7.6.0.2

Tato verze obsahuje následující opravy.

  • java-removals-00150 pravidlo se teď aktivuje správně.

7.6.0.1

Tato verze obsahuje následující opravy a vylepšení.

  • --analyze-known-libraries příznak: Nyní funguje ve Windows.
  • Vyčištění adresáře: Extra adresáře vytvořené během analýzy ve Windows se teď automaticky vyčistí.
  • --json-output příznak: Nyní je funkční.
  • Chyba analýzy pravidel: Chyba unable to parse all the rules for ruleset se vyřeší.
  • Popisy záložky Přehledy: Chybějící popisy pravidel jsou nyní dostupné.
  • Závislost připojení k internetu: Analýza už selže bez připojení k internetu.
  • --context-lines příznak: Při nastavení na hodnotu 0 se teď chová podle očekávání.
  • Odebrání požadavku Pythonu ke spuštění nástroje

7.6.0.0

Tato verze je založená na jiné sadě komponent projektu Konveyor.

Obecné aktualizace

6.3.9.0

Tato verze obsahuje následující opravy a obsahuje sadu nových pravidel.

Obecné aktualizace

  • Integrované změny z upstreamového úložiště Windup (verze 6.3.9.Final).
  • Vyřešené nefunkční odkazy v popisech pravidel a textu nápovědy.

Pravidla

  • Fronta zpráv Azure: Aktualizována a přidána nová pravidla pro azure-message-queue-rabbitmq a azure-message-queue-amqp.
  • Azure Service Bus: Zavedlo pravidlo detekce pro Azure Service Bus.
  • MySQL a PostgreSQL: upřesňující pravidla detekce závislostí.
  • Pravidla Azure-AWS: rozšířená a vylepšená existující pravidla
  • S3 Spring Starter: Přidali jsme pravidlo detekce pro S3 Spring Starter.
  • RabbitMQ Spring JMS: Přidali jsme pravidlo detekce pro RabbitMQ Spring JMS.
  • Pravidla protokolování: Aktualizovaná a upřesňující pravidla související s protokolováním
  • Pravidlo místního úložiště: aktualizovalo a upřesňuje pravidlo místního úložiště.
  • Pravidlo systému souborů Azure: Aktualizovalo a upřesňuje pravidlo systému souborů Azure.

Knihovny

  • Aktualizované knihovny pro řešení ohrožení zabezpečení

6.3.0.9

Tato verze obsahuje následující opravy a obsahuje sadu nových pravidel.

  • Vyřešili jsme problém s pravidlem localhost-java-00001 .
  • Zavedla nová pravidla pro identifikaci technologií, jako jsou AWS S3, AWS SQS, Alibaba Cloud OSS, Alibaba Cloud SMS, Alibaba Scheduler X, Alibaba Cloud Seata a Alibaba Rocket MQ.
  • Aktualizovali jsme azure-file-system-02000 aktualizaci na podporu přípon SOUBORŮ XML.
  • Upgradovali jsme různé knihovny, které řeší ohrožení zabezpečení.

6.3.0.8

Dříve byla ve výchozím nastavení povolena sada cílů, která některým zákazníkům znesnadňuje vyhodnocení velkých aplikací s příliš mnoha problémy souvisejícími s méně kritickými problémy. Aby uživatelé snížili šum v sestavách, musí nyní při provádění --targetzadat více cílů s parametrem appcat, který jim dává možnost vybrat pouze cíle, které jsou důležité.

6.3.0.7

Obecná dostupnost (obecně dostupná) verze aplikace Azure Migrate a posouzení kódu

Známé problémy

7.6.0.7

  • Problémy s pravidly:
    • Pravidla azure-system-config-01000 se neaktivují.
    • Pravidlo azure-password-01000 detekuje pouze jedno porušení, i když ve stejném souboru existuje více porušení.
  • Chyba v kanálu Watcher Error na Windows: Windows system assumed buffer larger than it is, events have likely been missed. Tato chybová zpráva se zobrazí na příkazovém řádku během dlouhotrvajících úloh ve Windows.

7.6.0.6

  • Problémy s pravidly:
    • Pravidla azure-system-config-01000 se neaktivují.
    • Pravidlo azure-password-01000 detekuje pouze jedno porušení, i když ve stejném souboru existuje více porušení.
  • Chyba v kanálu Watcher Error na Windows: Windows system assumed buffer larger than it is, events have likely been missed. Tato chybová zpráva se zobrazí na příkazovém řádku během dlouhotrvajících úloh ve Windows.

7.6.0.5

  • Problémy s pravidly:
    • Pravidla azure-system-config-01000 se neaktivují.
    • Pravidlo azure-password-01000 detekuje pouze jedno porušení, i když ve stejném souboru existuje více porušení.
  • Chyba v kanálu Watcher Error na Windows: Windows system assumed buffer larger than it is, events have likely been missed. Tato chybová zpráva se zobrazí na příkazovém řádku během dlouhotrvajících úloh ve Windows.

7.6.0.4

  • Problémy s pravidly:
    • Pravidla azure-system-config-01000 se neaktivují.
    • Pravidlo azure-password-01000 detekuje pouze jedno porušení, i když ve stejném souboru existuje více porušení.
  • Chyba v kanálu Watcher Error na Windows: Windows system assumed buffer larger than it is, events have likely been missed. Tato chybová zpráva se zobrazí na příkazovém řádku během dlouhotrvajících úloh ve Windows.

7.6.0.3

  • Příznak --overrideProviderSettings není podporovaný.
  • Problémy s pravidly:
    • azure-system-config-01000, http-session-01000 pravidla nejsou aktivována.
    • FileSystem - Java IO pravidlo se neaktivuje.
  • Při analýze souborů WAR ve Windows dojde k následující chybě: Failed to Move Decompiled File. Při analýze souborů WAR ve Windows dojde k chybě, která odpovídá za několik redundantních problémů vytvořených v operačním systému Windows.
  • Chyba v kanálu Error Watcheru ve Windows: Windows system assumed buffer larger than it is, events have likely been missed. Tato chybová zpráva se zobrazí na příkazovém řádku během dlouhotrvajících úloh ve Windows.
  • Ctrl+Jazyk C nemůže zastavit probíhající analýzu. Pokud chcete tento proces obejít, ukončete ho ručně tím, že proces explicitně ukončíte.
  • V sestavách binární analýzy zobrazuje název fragmentu kódu nesprávnou nebo neexistující cestu k souboru.

7.6.0.2

  • Příznak --overrideProviderSettings není podporovaný.
  • Problémy s pravidly:
    • azure-system-config-01000, http-session-01000 pravidla nejsou aktivována.
    • FileSystem - Java IO pravidlo se neaktivuje.
  • Při analýze souborů WAR ve Windows dojde k následující chybě: Failed to Move Decompiled File. Při analýze souborů WAR ve Windows dojde k chybě, která odpovídá za několik redundantních problémů vytvořených v operačním systému Windows.
  • Chyba v kanálu Error Watcheru ve Windows: Windows system assumed buffer larger than it is, events have likely been missed. Tato chybová zpráva se zobrazí na příkazovém řádku během dlouhotrvajících úloh ve Windows.
  • Ctrl+Jazyk C nemůže zastavit probíhající analýzu. Pokud chcete tento proces obejít, ukončete ho ručně tím, že proces explicitně ukončíte.
  • V sestavách binární analýzy zobrazuje název fragmentu kódu nesprávnou nebo neexistující cestu k souboru.

7.6.0.1

  • Příznak --overrideProviderSettings není podporovaný.
  • Problémy s pravidly:
    • azure-system-config-01000, http-session-01000pravidla java-removals-00150 se neaktivují.
    • FileSystem - Java IO pravidlo se neaktivuje.
  • Při analýze souborů WAR ve Windows dojde k následující chybě: Failed to Move Decompiled File. Při analýze souborů WAR ve Windows dojde k chybě, která odpovídá za několik redundantních problémů vytvořených v operačním systému Windows.
  • Chyba v kanálu Error Watcheru ve Windows: Windows system assumed buffer larger than it is, events have likely been missed. Tato chybová zpráva se zobrazí na příkazovém řádku během dlouhotrvajících úloh ve Windows.
  • Ctrl+Jazyk C nemůže zastavit probíhající analýzu. Pokud chcete tento proces obejít, ukončete ho ručně tím, že proces explicitně ukončíte.
  • V sestavách binární analýzy zobrazuje název fragmentu kódu nesprávnou nebo neexistující cestu k souboru.

7.6.0.0

  • Příznak --analyze-known-libraries nefunguje ve Windows.
  • Ve Windows se během procesu analýzy generují následující další složky, ale po dokončení se automaticky neodeberou. Tyto nadbytečné složky můžete po dokončení analýzy odebrat.
    • .metadata
    • org.eclipse.osgi
    • org.eclipse.equinox.app
    • org.eclipse.core.runtime
    • org.eclipse.equinox.launcher
  • Příznak --overrideProviderSettings není podporovaný.
  • Příznak --json-output není podporovaný. V budoucí verzi generuje výstupy JSON pro soubory output.yaml a dependency.yaml .
  • Problémy s pravidly:
    • azure-system-config-01000, http-session-01000pravidla java-removals-00150 se neaktivují.
    • FileSystem - Java IO pravidlo se neaktivuje.
    • Chyba unable to parse all the rules for ruleset při spuštění analýzy K této chybě dochází během analýzy, když nástroj nedokáže analyzovat všechna pravidla v sadě pravidel.
  • Při analýze souborů WAR ve Windows dojde k následující chybě: Failed to Move Decompiled File. Při analýze souborů WAR ve Windows dojde k chybě, která odpovídá za několik redundantních problémů vytvořených v operačním systému Windows.
  • Chybějící popisy některých pravidel na kartě Přehledy. Některá pravidla značek nemají popisy, což vede k prázdným názvům zobrazeným na kartě Přehledy.
  • Chyba v kanálu Watcher Error v systému Windows: Windows system assumed buffer larger than it is, events have likely been missed. Tato chybová zpráva se zobrazí na příkazovém řádku během dlouhotrvajících úloh ve Windows.
  • Tato verze vyžaduje aktivní připojení k internetu pro analýzu závislostí.
  • Ctrl+Jazyk C nemůže zastavit probíhající analýzu. Pokud chcete tento proces obejít, ukončete ho ručně tím, že proces explicitně ukončíte.
  • Pokud je příznak --context-lines nastavený na číslo 0, nefunguje podle očekávání. Tento příznak umožňuje uživateli omezit, kolik zdrojového kódu by se mělo v sestavě zobrazit. Nastavení na hodnotu 0 nemusí fungovat podle očekávání.

Licence

Aplikace Azure Migrate a posouzení kódu pro Javu je bezplatný opensourcový nástroj.

Příprava dat

AppCAT ve výchozím nastavení shromažďuje telemetrická data. Microsoft agreguje shromážděná data za účelem identifikace vzorů použití k identifikaci běžných problémů a ke zlepšení prostředí rozhraní příkazového řádku AppCAT. Rozhraní příkazového řádku Microsoft AppCAT neshromažďuje žádná soukromá ani osobní data. Například data o využití pomáhají identifikovat problémy, jako jsou příkazy s nízkou úspěšností. Tyto informace nám pomáhají určit prioritu naší práce.

Přestože oceňujeme přehledy, které tato data poskytují, chápeme také, že ne každý chce údaje o využití odesílat. Shromažďování dat můžete zakázat pomocí appcat analyze --disable-telemetry příkazu. Další informace najdete v našem prohlášení o zásadách ochrany osobních údajů .