Udostępnij za pośrednictwem


Ocena aplikacji i kodu usługi Azure Migrate dla języka Java w wersji 7 (wersja zapoznawcza)

Uwaga

Ten artykuł dotyczy następnej generacji aplikacji usługi Azure Migrate i oceny kodu dla języka Java w wersji 7.x. Ta wersja jest dostępna w wersji zapoznawczej. Aby uzyskać poprzednią stabilną wersję 6.x, zobacz ocenę aplikacji i kodu usługi Azure Migrate dla języka Java (Azure Migrate application and code assessment for Java).

W tym artykule pokazano, jak za pomocą narzędzia do oceny aplikacji i kodu usługi Azure Migrate dla języka Java ocenić i ponownie utworzyć dowolny typ aplikacji Java. Narzędzie umożliwia ocenę gotowości aplikacji do ponownego tworzenia i migracji na platformę Azure. To narzędzie jest oferowane jako interfejs wiersza polecenia i ocenia pliki binarne aplikacji Java i kod źródłowy w celu zidentyfikowania możliwości ponownego tworzenia i migracji dla platformy Azure. Pomaga to zmodernizować i ponownieplatformować aplikacje Java na dużą skalę, identyfikując typowe przypadki użycia i wzorce kodu oraz proponując zalecane zmiany.

Narzędzie odnajduje użycie technologii aplikacji za pomocą statycznej analizy kodu, zapewnia szacowanie nakładu pracy i przyspiesza ponowne tworzenie kodu. Ta ocena ułatwia ustalanie priorytetów i przenoszenie aplikacji Java na platformę Azure. Dzięki zestawowi silników i reguł narzędzie może odkrywać i oceniać różne technologie, takie jak Java 11, Java 17, Jakarta EE, Spring, Hibernate, Java Message Service (JMS) i nie tylko. Następnie narzędzie ułatwia przekształcenie aplikacji Java na różne docelowe platformy Azure - Usługa aplikacji Azure, Azure Kubernetes Service i Aplikacje kontenerowe Azure - przy użyciu określonych reguł migracji platformy Azure.

Narzędzie jest oparte na zestawie składników w projekcie Cloud Native Computing FoundationKonveyor utworzonym i prowadzonym przez firmę Red Hat.

Omówienie

Narzędzie zostało zaprojektowane w celu ułatwienia organizacjom modernizacji aplikacji Java w sposób, który zmniejsza koszty i umożliwia szybsze innowacje. Narzędzie używa zaawansowanych technik analizy do zrozumienia struktury i zależności dowolnej aplikacji Java oraz zawiera wskazówki dotyczące refaktoryzacji i migrowania aplikacji na platformę Azure.

Za jego pomocą można wykonywać następujące zadania:

  • Odkrywanie użycia technologii: Szybko sprawdź, które technologie używa aplikacja. Odnajdywanie jest przydatne, jeśli masz starsze aplikacje z nie dużą ilością dokumentacji i chcesz wiedzieć, które technologie używają.
  • Ocena kodu do określonego celu: Ocena aplikacji pod kątem określonego celu platformy Azure. Sprawdź nakład pracy i modyfikacje, które należy wykonać, aby ponownieplatformować aplikacje na platformie Azure.

Obsługiwane obiekty docelowe

Narzędzie zawiera reguły ułatwiające ponowne splatformowania aplikacji, dzięki czemu można wdrażać i używać różnych usług platformy Azure.

Reguły używane przez aplikację Azure Migrate i ocenę kodu są grupowane w oparciu o cel. Element docelowy to miejsce, w którym działa aplikacja, oraz ogólne potrzeby i oczekiwania. Podczas oceniania aplikacji można wybrać wiele obiektów docelowych. W poniższej tabeli opisano dostępne elementy docelowe:

Nazwa docelowa opis Obiekt docelowy
Azure App Service Najlepsze praktyki dotyczące wdrażania aplikacji w usłudze Azure App Service. azure-appservice
Azure Kubernetes Service Najlepsze rozwiązania dotyczące wdrażania aplikacji w usłudze Azure Kubernetes Service. azure-aks
Azure Container Apps (aplikacje kontenerowe Azure) Najlepsze rozwiązania dotyczące wdrażania aplikacji w usłudze Azure Container Apps. azure-container-apps
Gotowość do chmury Ogólne najlepsze rozwiązania dotyczące przygotowania chmury aplikacji (Azure). cloud-readiness
Linuxa Ogólne najlepsze rozwiązania dotyczące przygotowania aplikacji do systemu Linux. linux
OpenJDK 11 Ogólne najlepsze rozwiązania dotyczące uruchamiania aplikacji Java 8 z językiem Java 11. openjdk11
OpenJDK 17 Ogólne najlepsze rozwiązania dotyczące uruchamiania aplikacji Java 11 z językiem Java 17. openjdk17
OpenJDK 21 Ogólne najlepsze rozwiązania dotyczące uruchamiania aplikacji Java 17 z językiem Java 21. openjdk21

Gdy narzędzie oceni gotowość do chmury i powiązane usługi platformy Azure, może również zgłosić przydatne informacje dotyczące potencjalnego użycia różnych usług platformy Azure. Poniższa lista zawiera kilka omówionych usług:

  • Bazy danych platformy Azure
  • Usługa Azure Service Bus
  • Azure Storage
  • Azure Content Delivery Network
  • Azure Event Hubs
  • Azure Key Vault
  • Usługa Azure Front Door

Pobierz i zainstaluj

Aby użyć interfejsu appcat wiersza polecenia, musisz pobrać pakiet odpowiedni dla twojego środowiska i mieć wymagane zależności w swoim środowisku. Interfejs appcat wiersza polecenia działa w dowolnym środowisku, takim jak Windows, Linux lub Mac, przy użyciu sprzętu Intel, Arm lub Apple Silicon. Dla wymagań dotyczących JDK zalecamy użycie Microsoft Build of OpenJDK.

System operacyjny Architektura Link pobierania Inne pliki
x64
Windows x64 Pobierz sha256 / Sig
macOS x64 Pobierz sha256 / Sig
Linuxa x64 Pobierz sha256 / Sig
AArch64
Windows AArch64 / ARM64 Pobierz sha256 / Sig
macOS Apple Silicon Pobierz sha256 / Sig
Linuxa AArch64 / ARM64 Pobierz sha256 / Sig

Wymagania wstępne

Instalowanie usługi AppCAT

Aby zainstalować appcatprogram , pobierz odpowiedni plik zip dla swojej platformy. Po pobraniu pliku w zależności od systemu operacyjnego należy znaleźć .tar.gz (Linux/macOS) lub plik.zip (Windows).

Wyodrębnij plik binarny z pobranego pliku. Powinna zostać wyświetlona następująca struktura folderów:

/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

Uruchamianie usługi AppCAT

Aby uruchomić appcat z dowolnego miejsca w terminalu, wyodrębnij archiwum do żądanej lokalizacji. Następnie zaktualizuj zmienną PATH środowiskową, aby uwzględnić katalog, w którym wyodrębniono archiwum.

Uwaga

Po wywołaniu appcat pliku binarnego najpierw wyszukuje jego zależności w folderze wykonywalny określonym w zmiennej środowiskowej PATH . Jeśli zależności nie są znalezione, wraca do katalogu macierzystego użytkownika — ~/.appcat w systemie Linux/Mac lub %USERPROFILE%\.appcat w systemie Windows.

Użycie

Podpolecenia

Usługa AppCAT udostępnia dwa polecenia podrzędne do użycia:

  • analyze: Uruchom analizę kodu na wejściowym kodzie źródłowym lub na pliku binarnym.
  • transform: przekonwertuj reguły XML z poprzednich wersji (6 i starszych) na format YAML używany przez tę wersję.

Uwaga

W przypadku użytkowników systemu macOS: jeśli podczas próby uruchomienia aplikacji wystąpi błąd Apple could not verify , możesz rozwiązać ten błąd przy użyciu następującego polecenia:

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

Na przykład:

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

Analiza podpolecenia

Podpolecenia analyze umożliwia uruchamianie kodu źródłowego i analizy binarnej.

Aby przeanalizować kod źródłowy aplikacji, użyj następującego polecenia:

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

Flaga --input musi wskazywać katalog kodu źródłowego lub plik binarny i --output musi wskazywać katalog w celu przechowywania wyników analizy.

Aby uzyskać więcej informacji na temat flag analizy, użyj następującego polecenia:

./appcat analyze --help

Aby sprawdzić dostępne cele dla usługi AppCAT, użyj następującego polecenia:

./appcat analyze --list-targets

To polecenie generuje następujące dane wyjściowe:

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

Analizowanie wielu aplikacji

Aplikacja AppCAT obsługuje wiele analiz aplikacji w każdym wykonaniu polecenia. Możesz podać rozdzieloną przecinkami listę ścieżek wejściowych flagi, --input aby analizować wiele aplikacji w jednym poleceniu. Katalog wyjściowy i raport statyczny zawierają połączone wyniki analizy dla wszystkich aplikacji.

Aby przeanalizować wiele aplikacji, użyj następującego polecenia:

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

AppCAT umożliwia również użycie opcji --bulk, aby przyrostowo dodawać więcej analiz aplikacji do istniejącego katalogu wyjściowego oraz raportu statycznego. W przypadku korzystania z opcji --bulk należy używać jej spójnie we wszystkich wykonaniach poleceń, które zapisują do tego samego wyjścia.

Uwaga

Po podaniu wielu ścieżek wejściowych, --bulk jest włączona domyślnie.

Aby przyrostowo dodać więcej analizy aplikacji do istniejącego raportu statycznego, użyj następującego polecenia:

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

Przekształć subkomendę

Podpolecenie transform umożliwia przekonwertowanie poprzednich reguł XML appcat stosowanych w wersji 6.x na nowy format YAML używany w obecnej wersji 7.x.

Aby przekształcić reguły, użyj następującego polecenia:

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

Flaga --input powinna wskazywać plik lub katalog zawierający reguły XML, a flaga --output powinna wskazywać katalog wyjściowy dla przekonwertowanych reguł YAML.

Przykłady

Uwaga

Upewnij się, że uprawnienia do plików dla skryptów w wyodrębnionym folderze są ustawione na zezwalanie na wykonywanie.

W katalogu samples można znaleźć następujące skrypty do uruchamiania różnych typów analizy:

  • run-assessment: udostępnia raport z oceną kodu i krokami migracji Airsonic do Azure App Service na platformie Tomcat.
  • run-assessment-transform-rules: Konwertuje reguły XML Windup na reguły YAML zgodne z analizatorem LSP.
  • run-assessment-custom-rules: udostępnia raport oceny kodu przy użyciu reguł niestandardowych (przekształcanie kodu XML do YAML).
  • run-assessment-openjdk21: generuje raport z oceną kodu i krokami migracji Airsonic do openJDK 21.
  • run-assessment-package-only: tworzy raport, oceniając określone pakiety.

Te skrypty mają być używane z projektem przykładowym Airsonic-Advanced — opartym na społeczności, internetowym streamerze multimediów, który umożliwia dostęp do kolekcji muzyki i udostępnianie jej.

Repozytorium aplikacji można sklonować ręcznie przy użyciu następującego polecenia:

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

Po sklonowaniu podaj ścieżkę do sklonowanego folderu podczas uruchamiania skryptów oceny. W zależności od systemu operacyjnego uruchom odpowiedni skrypt, jak pokazano w poniższym przykładzie:

Uwaga

Upewnij się, że sklonowałeś projekt Airsonic Advanced do ścieżki lokalnej przed uruchomieniem skryptów.

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

Raporty są generowane i uruchamiane automatycznie. Raporty można znaleźć w obszarze .. /samples/report-* (Linux/macOS) lub .. \samples\report-* (Windows).

Podsumowanie analizy

Strona docelowa raportu przedstawia widok podsumowania wszystkich analizowanych aplikacji. W tym miejscu możesz przejść do poszczególnych raportów aplikacji, aby zapoznać się ze szczegółowymi ustaleniami.

Zrzut ekranu przedstawiający raport podsumowania appcat.

Przycisk Ask Copilot (Zapytaj copilot ) w prawym górnym rogu przekierowuje Cię do rozszerzenia GitHub Copilot App Modernization for Java w programie Visual Studio Code. To rozszerzenie zapewnia zarówno ocenę aplikacji, jak i korygowanie kodu jako kluczowe możliwości migracji aplikacji Java na platformę Azure — obsługiwane przez aplikacje AppCAT i możliwości sztucznej inteligencji w usłudze GitHub Copilot.

Raport z oceny

Raport oceny zawiera listę problemów podzielonych na kategorie różnych aspektów gotowości na platformę Azure, natywnych dla chmury i modernizacji języka Java, które należy rozwiązać, aby pomyślnie przeprowadzić migrację aplikacji na platformę Azure.

Każdy problem jest klasyfikowany według ważności — obowiązkowe, opcjonalne lub potencjalne — i zawiera liczbę wierszy kodu, których dotyczy problem.

Na karcie Zależności i technologie są wyświetlane biblioteki i technologie używane w aplikacji.

Zrzut ekranu przedstawiający raport oceny appCAT.

Szczegółowe informacje dotyczące konkretnego problemu

W przypadku każdego problemu możesz uzyskać więcej informacji (szczegóły problemu, zawartość reguły itd.), wybierając ją. Zostanie również wyświetlona lista wszystkich plików, których dotyczy ten problem.

Zrzut ekranu przedstawiający raport szczegółów problemu appCAT.

Następnie dla każdego pliku lub klasy, której dotyczy problem, możesz przejść do kodu źródłowego, aby wyróżnić wiersz kodu, który utworzył problem.

Zrzut ekranu przedstawiający raport kodu problemu appCAT.

Notatki o wydaniu

7.6.0.7

Ta wersja zawiera następujące poprawki i ulepszenia.

  • Obsługa analizowania aplikacji Spring opartych na programie Gradle.
  • Obsługa analizowania projektów Open Liberty.
  • Pokaż postęp oceny, wyświetlając liczbę reguł przetworzonych podczas oceny.
  • Usunięto narzędzie Maven z wymagań wstępnych.
  • Zastąpiono airsonic.war elementem airsonic-advanced jako przykładową aplikacją w zwolnionych artefaktach.

7.6.0.6

Ta wersja zawiera następujące poprawki i ulepszenia.

  • Domyślny plik .appcat-ignore jest teraz dołączany do pakietu wydania domyślnie. Ten plik powoduje, że narzędzie wyklucza określone foldery lub ścieżki, które nie muszą być analizowane.
  • Rozwiązano problem z brakującymi zależnościami w raporcie podczas korzystania z trybu full (określonego przy użyciu --mode).
  • Analiza ogranicza się do celów obsługiwanych przez Aplikację AppCAT, jeśli nie określono żadnych celów.
  • Ignorowane linie komentarza podczas analizy.
  • Naprawiono nieprawidłową lokalizację reguł XML.

7.6.0.5

Ta wersja zawiera następujące poprawki i ulepszenia.

  • Flaga --input akceptuje teraz wiele wartości, umożliwiając analizowanie wielu aplikacji w jednym wykonaniu polecenia.
  • Raport statyczny kategoryzuje listę problemów, aby uzyskać lepszą czytelność.
  • Użytkownicy mogą teraz instalować aplikację AppCAT w katalogach innych niż katalog główny użytkownika.
  • Rozwiązano problem, w którym uruchomienie analyze zarówno z --bulk, jak i --skip-static-report nie powiodło się w wygenerowaniu wielu plików wyjściowych.
  • Rozwiązano błąd podczas analizowania z użyciem --bulk i --rules, jeśli nie uruchomiono dostawcy Java.
  • Rozwiązano problem polegający na tym, że analiza nie powiodła się, jeśli określony pakiet nie został znaleziony podczas korzystania z flagi --packages .
  • Flaga --exclude-paths jest przestarzała. Aby wykluczyć pliki lub katalogi, użyj pliku appcat-ignore — obsługującego wzorce globu — umieszczonego w katalogu wejściowym lub katalogu instalacyjnym.

7.6.0.4

Ta wersja zawiera następujące poprawki i ulepszenia.

  • Obsługuje zbieranie danych telemetrycznych. Użyj flagi , --disable-telemetry aby wyłączyć dane telemetryczne.
  • Przekształca format CLI, aby był czytelniejszy.
    • Aktualizuje flagę --source , zmieniając z --source <source1> --source <source2> ... na --source <source1>,<source2>,...
    • Aktualizuje flagę --target , zmieniając z --target <target1> --target <target2> ... na --target <target1>,<target2>,...
    • Aktualizuje flagę --rules , zmieniając z --rules <rule1> --rules <rule2> ... na --rules <rule1>,<rule2>,...
    • Aktualizuje flagę --maven-settings do --custom-maven-settings
    • Aktualizuje flagę --limit-code-snips do --code-snips-number
    • Usuwa flagę --json-output , użyj --output-format flagi, wybierz format danych wyjściowych: "yaml" lub "json". (domyślny yaml)
    • Usuwa flagi --provider, --override-provider-settings, --list-providersi --dependency-folders
  • Nowa --exclude-paths flaga: określa ścieżki, które powinny być ignorowane w analizie. Użyj listy rozdzielanej przecinkami dla wielu wartości: --exclude-paths <path1>,<path2>,.... Wartość domyślna to [].
  • Nowa --packages flaga: określa pakiety klas aplikacji do oceny. Użyj listy rozdzielanej przecinkami dla wielu wartości: --packages <package1>,<package2>,.... Wartość domyślna to [].
  • Nowa --dry-run flaga: sprawdza tylko, czy flagi są prawidłowe bez faktycznego uruchamiania analizy. Wartość domyślna to false.
  • Usuwa azure-spring-apps element z serwera appcat --list-targets.

7.6.0.3

Ta wersja zawiera następujące poprawki i ulepszenia.

  • Nowa --limit-code-snips flaga: Steruje limitami fragmentów kodu podczas oceny reguły (0=nieograniczone, -1=wyłącz fragmenty kodu).
  • Naprawiono brakujące błędy plików zależności w trybie analizy zbiorczej: narzędzie nie przerywa już analizy zbiorczej projektów innych niż Java lub projektów Java przy użyciu polecenia --mode=source-only.

7.6.0.2

Ta wersja zawiera następujące poprawki.

  • java-removals-00150 reguła jest teraz wyzwalana poprawnie.

7.6.0.1

Ta wersja zawiera następujące poprawki i ulepszenia.

  • --analyze-known-libraries flaga: Teraz działa w systemie Windows.
  • Oczyszczanie katalogu: dodatkowe katalogi utworzone podczas analizy w systemie Windows są teraz automatycznie czyszczone.
  • --json-output sygnał: Teraz działa.
  • Błąd analizowania reguł: błąd unable to parse all the rules for ruleset został rozwiązany.
  • Opisy karty Wnioski: brakujące opisy reguł są teraz dostępne.
  • Zależność połączenia internetowego: analiza nie kończy się już niepowodzeniem bez połączenia internetowego.
  • --context-lines flaga: Teraz zachowuje się zgodnie z oczekiwaniami po ustawieniu wartości 0.
  • Usunięto wymaganie języka Python dotyczące uruchamiania narzędzia.

7.6.0.0

Ta wersja jest oparta na innym zestawie składników projektu Konveyor.

Aktualizacje ogólne

6.3.9.0

Ta wersja zawiera następujące poprawki i zawiera zestaw nowych reguł.

Aktualizacje ogólne

  • Zintegrowane zmiany z nadrzędnego repozytorium Windup (ostateczna wersja 6.3.9.Final).
  • Rozwiązano uszkodzone linki w opisach reguł i tekście pomocy.

Zasady

  • Kolejka komunikatów platformy Azure: zaktualizowano i dodano nowe reguły dla azure-message-queue-rabbitmq oraz azure-message-queue-amqp.
  • Azure Service Bus: wprowadzono regułę wykrywania dla usługi Azure Service Bus.
  • MySQL i PostgreSQL: ulepszone reguły wykrywania zależności.
  • Reguły platformy Azure-AWS: ulepszone i poprawione istniejące reguły.
  • S3 Spring Starter: dodano regułę wykrywania dla programu S3 Spring Starter.
  • RabbitMQ Spring JMS: dodano regułę wykrywania dla RabbitMQ Spring JMS.
  • Reguły rejestrowania: zaktualizowane i ulepszone reguły związane z rejestrowaniem.
  • Reguła magazynu lokalnego: zaktualizowana i udoskonalona reguła magazynu lokalnego.
  • Reguła systemu plików platformy Azure: zaktualizowana i uściśliła regułę systemu plików platformy Azure.

Biblioteki

  • Zaktualizowano biblioteki w celu rozwiązania luk w zabezpieczeniach.

6.3.0.9

Ta wersja zawiera następujące poprawki i zawiera zestaw nowych reguł.

  • Rozwiązano problem z regułą localhost-java-00001 .
  • Wprowadzono nowe reguły identyfikowania technologii, takich jak AWS S3, AWS SQS, Alibaba Cloud OSS, Alibaba Cloud SMS, Alibaba Scheduler X, Alibaba Cloud Seata i Alibaba Rocket MQ.
  • Zaktualizowano element , azure-file-system-02000 aby teraz obsługiwał rozszerzenia plików XML.
  • Uaktualniono różne biblioteki, aby rozwiązać problem z lukami w zabezpieczeniach.

6.3.0.8

Wcześniej zestaw celów był domyślnie włączony, co utrudnia niektórym klientom ocenę dużych aplikacji z zbyt wieloma problemami związanymi z mniej krytycznymi problemami. Aby zmniejszyć hałas w raportach, użytkownicy muszą teraz określić wiele elementów docelowych za pomocą parametru --target, podczas wykonywania appcat, co daje im możliwość wybrania tylko tych elementów, które mają znaczenie.

6.3.0.7

GA (Ogólnie dostępne) wydanie oceny aplikacji i kodu Azure Migrate.

Znane problemy

7.6.0.7

  • Problemy z regułami:
    • Reguły azure-system-config-01000 nie są wyzwalane.
    • Reguła azure-password-01000 wykrywa tylko jedno naruszenie, nawet jeśli w tym samym pliku istnieje wiele naruszeń.
  • Błąd w kanał Watcher Error w systemie Windows: Windows system assumed buffer larger than it is, events have likely been missed. Ten komunikat o błędzie jest wyświetlany w wierszu polecenia podczas długotrwałych zadań w systemie Windows.

7.6.0.6

  • Problemy z regułami:
    • Reguły azure-system-config-01000 nie są wyzwalane.
    • Reguła azure-password-01000 wykrywa tylko jedno naruszenie, nawet jeśli w tym samym pliku istnieje wiele naruszeń.
  • Błąd w kanał Watcher Error w systemie Windows: Windows system assumed buffer larger than it is, events have likely been missed. Ten komunikat o błędzie jest wyświetlany w wierszu polecenia podczas długotrwałych zadań w systemie Windows.

7.6.0.5

  • Problemy z regułami:
    • Reguły azure-system-config-01000 nie są wyzwalane.
    • Reguła azure-password-01000 wykrywa tylko jedno naruszenie, nawet jeśli w tym samym pliku istnieje wiele naruszeń.
  • Błąd w kanał Watcher Error w systemie Windows: Windows system assumed buffer larger than it is, events have likely been missed. Ten komunikat o błędzie jest wyświetlany w wierszu polecenia podczas długotrwałych zadań w systemie Windows.

7.6.0.4

  • Problemy z regułami:
    • Reguły azure-system-config-01000 nie są wyzwalane.
    • Reguła azure-password-01000 wykrywa tylko jedno naruszenie, nawet jeśli w tym samym pliku istnieje wiele naruszeń.
  • Błąd w kanał Watcher Error w systemie Windows: Windows system assumed buffer larger than it is, events have likely been missed. Ten komunikat o błędzie jest wyświetlany w wierszu polecenia podczas długotrwałych zadań w systemie Windows.

7.6.0.3

  • Flaga --overrideProviderSettings nie jest obsługiwana.
  • Problemy z regułami:
    • azure-system-config-01000, http-session-01000 reguły nie są wyzwalane.
    • FileSystem - Java IO reguła nie jest uruchamiana.
  • Analizowanie plików WAR w systemie Windows powoduje następujący błąd: Failed to Move Decompiled File. Podczas analizowania plików WAR w systemie Windows występuje błąd, który jest odpowiedzialny za kilka nadmiarowych problemów utworzonych w systemie operacyjnym Windows.
  • Kanał błędów Watchera w systemie Windows: Windows system assumed buffer larger than it is, events have likely been missed. Ten komunikat o błędzie jest wyświetlany w wierszu polecenia podczas długotrwałych zadań w systemie Windows.
  • Ctrl+C nie zatrzymuje trwającej analizy. Aby obejść ten proces, ręcznie zakończ ten proces, jawnie zabijając proces.
  • W raportach analizy binarnej tytuł fragmentu kodu przedstawia niepoprawną lub nieistnieną ścieżkę pliku.

7.6.0.2

  • Flaga --overrideProviderSettings nie jest obsługiwana.
  • Problemy z regułami:
    • azure-system-config-01000, http-session-01000 reguły nie są wyzwalane.
    • FileSystem - Java IO reguła nie jest uruchamiana.
  • Analizowanie plików WAR w systemie Windows powoduje następujący błąd: Failed to Move Decompiled File. Podczas analizowania plików WAR w systemie Windows występuje błąd, który jest odpowiedzialny za kilka nadmiarowych problemów utworzonych w systemie operacyjnym Windows.
  • Kanał błędów Watchera w systemie Windows: Windows system assumed buffer larger than it is, events have likely been missed. Ten komunikat o błędzie jest wyświetlany w wierszu polecenia podczas długotrwałych zadań w systemie Windows.
  • Ctrl+C nie zatrzymuje trwającej analizy. Aby obejść ten proces, ręcznie zakończ ten proces, jawnie zabijając proces.
  • W raportach analizy binarnej tytuł fragmentu kodu przedstawia niepoprawną lub nieistnieną ścieżkę pliku.

7.6.0.1

  • Flaga --overrideProviderSettings nie jest obsługiwana.
  • Problemy z regułami:
    • azure-system-config-01000, , http-session-01000java-removals-00150 reguły nie są wyzwalane.
    • FileSystem - Java IO reguła nie jest uruchamiana.
  • Analizowanie plików WAR w systemie Windows powoduje następujący błąd: Failed to Move Decompiled File. Podczas analizowania plików WAR w systemie Windows występuje błąd, który jest odpowiedzialny za kilka nadmiarowych problemów utworzonych w systemie operacyjnym Windows.
  • Kanał błędów Watchera w systemie Windows: Windows system assumed buffer larger than it is, events have likely been missed. Ten komunikat o błędzie jest wyświetlany w wierszu polecenia podczas długotrwałych zadań w systemie Windows.
  • Ctrl+C nie zatrzymuje trwającej analizy. Aby obejść ten proces, ręcznie zakończ ten proces, jawnie zabijając proces.
  • W raportach analizy binarnej tytuł fragmentu kodu przedstawia niepoprawną lub nieistnieną ścieżkę pliku.

7.6.0.0

  • Flaga --analyze-known-libraries nie działa w systemie Windows.
  • W systemie Windows następujące dodatkowe foldery są generowane podczas procesu analizy, ale nie są automatycznie usuwane po zakończeniu. Po zakończeniu analizy możesz usunąć te dodatkowe foldery.
    • .metadata
    • org.eclipse.osgi
    • org.eclipse.equinox.app
    • org.eclipse.core.runtime
    • org.eclipse.equinox.launcher
  • Flaga --overrideProviderSettings nie jest obsługiwana.
  • Flaga --json-output nie jest obsługiwana. W przyszłej wersji generuje dane wyjściowe JSON dla plików output.yaml i dependency.yaml .
  • Problemy z regułami:
    • azure-system-config-01000, , http-session-01000java-removals-00150 reguły nie są wyzwalane.
    • FileSystem - Java IO reguła nie jest uruchamiana.
    • Błąd unable to parse all the rules for ruleset podczas uruchamiania analizy. Ten błąd występuje podczas analizy, gdy narzędzie nie może przeanalizować wszystkich reguł w zestawie reguł.
  • Analizowanie plików WAR w systemie Windows powoduje następujący błąd: Failed to Move Decompiled File. Podczas analizowania plików WAR w systemie Windows występuje błąd, który jest odpowiedzialny za kilka nadmiarowych problemów utworzonych w systemie operacyjnym Windows.
  • Brak opisów niektórych reguł na karcie Szczegółowe informacje . Niektóre reguły tagów nie mają opisów, co prowadzi do wyświetlania pustych tytułów na karcie Szczegółowe informacje raportu.
  • Błąd w kanale obserwatora w systemie Windows: Windows system assumed buffer larger than it is, events have likely been missed. Ten komunikat o błędzie jest wyświetlany w wierszu polecenia podczas długotrwałych zadań w systemie Windows.
  • Ta wersja wymaga aktywnego połączenia internetowego na potrzeby analizy zależności.
  • Ctrl+C nie zatrzymuje trwającej analizy. Aby obejść ten proces, ręcznie zakończ ten proces, jawnie zabijając proces.
  • Gdy flaga --context-lines jest ustawiona na liczbę 0, nie działa zgodnie z oczekiwaniami. Ta flaga umożliwia użytkownikowi ograniczenie ilości kodu źródłowego, który powinien pojawić się w raporcie. Ustawienie wartości 0 może nie działać zgodnie z oczekiwaniami.

Licencja

Ocena aplikacji i kodu usługi Azure Migrate dla języka Java to bezpłatne narzędzie oparte na oprogramowaniu open source.

Zbieranie danych

Usługa AppCAT domyślnie zbiera dane telemetryczne. Firma Microsoft agreguje zebrane dane w celu identyfikowania wzorców użycia w celu identyfikowania typowych problemów i ulepszania środowiska interfejsu wiersza polecenia usługi AppCAT. Interfejs wiersza polecenia usługi Microsoft AppCAT nie zbiera żadnych danych prywatnych ani osobowych. Na przykład dane użycia pomagają identyfikować problemy, takie jak polecenia z niskim współczynnikiem powodzenia. Te informacje pomagają nam określić priorytety naszej pracy.

Doceniamy szczegółowe informacje, jakie są udostępniane przez te dane, ale rozumiemy również, że nie każdy chce wysyłać dane dotyczące użycia. Zbieranie danych można wyłączyć za pomocą appcat analyze --disable-telemetry polecenia . Aby uzyskać więcej informacji, zobacz nasze zasady zachowania poufności informacji .