Aracılığıyla paylaş


Azure Migrate uygulaması ve Java sürüm 7 kodu için değerlendirme (önizleme)

Uyarı

Bu makale, Java sürüm 7.x için yeni nesil Azure Geçişi uygulaması ve kod değerlendirmesine yöneliktir. Bu sürüm önizleme aşamasındadır. Önceki kararlı sürüm olan sürüm 6.x için bkz. Java için Azure Geçişi uygulaması ve kod değerlendirmesi.

Bu makalede, her tür Java uygulamasını değerlendirmek ve yeniden düzenlemek için Java için Azure Geçişi uygulaması ve kod değerlendirme aracının nasıl kullanılacağı gösterilmektedir. Araç, yeniden platform oluşturma ve Azure'a geçiş için uygulama hazırlığını değerlendirmenizi sağlar. Bu araç bir komut satırı arabirimi (CLI) olarak sunulur ve Azure için yeniden platform oluşturma ve geçiş fırsatlarını belirlemek üzere Java uygulama ikili dosyalarını ve kaynak kodunu değerlendirir. Yaygın kullanım örneklerini ve kod desenlerini belirleyerek ve önerilen değişiklikleri önererek büyük ölçekli Java uygulamalarını modernleştirmenize ve yeniden oluşturmanıza yardımcı olur.

Araç, statik kod analizi aracılığıyla uygulama teknolojisi kullanımını bulur, efor tahmini sağlar ve kod yeniden platformunu hızlandırır. Bu değerlendirme, Java uygulamalarının önceliklerini belirlemenize ve Azure'a taşımanıza yardımcı olur. Bir dizi altyapı ve kuralla, araç Java 11, Java 17, Jakarta EE, Spring, Hibernate, Java Message Service (JMS) ve daha fazlası gibi farklı teknolojileri keşfedebilir ve değerlendirebilir. Araç daha sonra Java uygulamasını farklı Azure hedeflerine (Azure Uygulaması Hizmeti, Azure Kubernetes Service ve Azure Container Apps) belirli Azure yeniden hazırlama kurallarıyla yeniden hazırlamanıza yardımcı olur.

Araç, Red Hat tarafından oluşturulan ve yönetilen Cloud Native Computing Foundation projesi Konveyor'daki bir bileşen kümesini temel alır.

Genel bakış

Araç, kuruluşların Java uygulamalarını maliyetleri düşürecek ve daha hızlı yeniliklere olanak sağlayacak şekilde modernleştirmelerine yardımcı olmak için tasarlanmıştır. Araç, herhangi bir Java uygulamasının yapısını ve bağımlılıklarını anlamak için gelişmiş analiz tekniklerini kullanır ve uygulamaları yeniden düzenleme ve Azure'a geçirme konusunda rehberlik sağlar.

Bununla, aşağıdaki görevleri gerçekleştirebilirsiniz:

  • Teknoloji kullanımını keşfedin: Bir uygulamanın hangi teknolojileri kullandığını hızla görün. Çok fazla belge olmayan eski uygulamalarınız varsa ve hangi teknolojileri kullandıklarını öğrenmek istiyorsanız bulma yararlı olur.
  • Kodu belirli bir hedefe değerlendirme: Belirli bir Azure hedefi için bir uygulamayı değerlendirme. Uygulamalarınızı Azure'a yeniden eklemek için yapmanız gereken çabayı ve değişiklikleri denetleyin.

Desteklenen hedefler

Araç, farklı Azure hizmetlerine dağıtabilmeniz ve kullanabilmeniz için uygulamalarınızı yeniden oluşturmanıza yardımcı olacak kurallar içerir.

Azure Geçişi uygulaması ve kod değerlendirmesi tarafından kullanılan kurallar bir hedefe göre gruplandırılır. Hedef, uygulamanın nerede veya nasıl çalıştığı ile genel ihtiyaçlar ve beklentilerdir. Bir uygulamayı değerlendirirken birden çok hedef seçebilirsiniz. Aşağıdaki tabloda kullanılabilir hedefler açıklanmaktadır:

Hedef adı Açıklama Hedef
Azure App Service Bir uygulamayı Azure Uygulaması Hizmetine dağıtmak için en iyi yöntemler. azure-appservice
Azure Kubernetes Service Azure Kubernetes Service'e uygulama dağıtmak için en iyi yöntemler. azure-aks
Azure Konteyner Uygulamaları Azure Container Apps'e uygulama dağıtmaya yönelik en iyi yöntemler. azure-container-apps
Bulut Hazırlığı Bir uygulamayı Bulut (Azure) için hazır hale getirmek için genel en iyi yöntemler. cloud-readiness
Linux işletim sistemi Bir uygulamayı Linux'a hazır hale getirmek için genel en iyi yöntemler. linux
OpenJDK 11 Java 11 ile Java 8 uygulaması çalıştırmaya yönelik genel en iyi yöntemler. openjdk11
OpenJDK 17 Java 17 ile Java 11 uygulaması çalıştırmaya yönelik genel en iyi yöntemler. openjdk17
OpenJDK 21 Java 21 ile Java 17 uygulaması çalıştırmaya yönelik genel en iyi yöntemler. openjdk21

Araç Bulut Hazırlığı ve ilgili Azure hizmetlerini değerlendirdiğinde, farklı Azure hizmetlerinin olası kullanımına yönelik yararlı bilgiler de bildirebilir. Aşağıdaki listede kapsanan hizmetlerden birkaçı gösterilmektedir:

  • Azure Veritabanları
  • Azure Hizmet Otobüsü
  • Azure Depolama
  • Azure Content Delivery Network
  • Azure Event Hubs
  • Azure Key Vault
  • Azure Ön Kapı

İndirme ve kurma

CLI'yı appcat kullanmak için, paketi ortamınıza özgü olarak indirmeniz ve ortamınızda gerekli bağımlılıklara sahip olmanız gerekir. appcat CLI, Intel, Arm veya Apple Silicon donanımı kullanarak Windows, Linux veya Mac gibi herhangi bir ortamda çalışır. JDK gereksinimi için OpenJDK'nin Microsoft Derlemesi'ni kullanmanızı öneririz.

İşletim Sistemi Mimari Bağlantıyı İndir Diğer dosyalar
x64
Windows x64 İndirmek sha256 / Sıg
macOS x64 İndirmek sha256 / Sıg
Linux işletim sistemi x64 İndirmek sha256 / Sıg
AArch64
Windows AArch64 / ARM64 İndirmek sha256 / Sıg
macOS Apple Silicon İndirmek sha256 / Sıg
Linux işletim sistemi AArch64 / ARM64 İndirmek sha256 / Sıg

Önkoşullar

AppCAT'i yükleme

appcat uygulamasını yüklemek için platformunuza uygun zip dosyasını indirin. Dosyayı indirdikten sonra, işletim sisteminize bağlı olarak bir .tar.gz (Linux/macOS) veya .zip dosyası (Windows) bulmanız gerekir.

İndirilen dosyadan ikili dosyasını ayıklayın. Aşağıdaki klasör yapısını görmeniz gerekir:

/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

AppCAT'i çalıştırma

Terminalinizde appcat'ı herhangi bir konumdan çalıştırmak için arşivi istediğiniz konuma ayıklayın. Ardından ortam değişkenini PATH , arşivi ayıkladığınız dizini içerecek şekilde güncelleştirin.

Uyarı

İkili appcat çağrıldığında, ilk olarak ortam değişkeninde PATH belirtilen yürütülebilir klasörde bağımlılıklarını arar. Bağımlılıklar bulunamazsa, kullanıcının giriş dizinine ( Linux/Mac üzerinde ~/.appcat veya Windows'da \.appcat%USERPROFILE% ) geri döner.

Kullanım

Alt Komutlar

AppCAT, kullanım için iki alt komut sağlar:

  • analyze: Giriş kaynak kodunda ya da bir ikili dosyada kaynak kod analizi yapın.
  • transform: XML kurallarını önceki sürümlerden (6 ve üstü) bu sürüm tarafından kullanılan YAML biçimine dönüştürün.

Uyarı

macOS kullanıcıları için: Uygulamayı çalıştırmaya çalışırken bir hatayla Apple could not verify karşılaşırsanız aşağıdaki komutu kullanarak bu hatayı düzeltebilirsiniz:

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

Örneğin:

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

Alt komutu analiz etme

Alt analyze komut, kaynak kodu ve ikili analizi çalıştırmanızı sağlar.

Uygulama kaynak kodunu analiz etmek için aşağıdaki komutu kullanın:

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

Bayrağın --input bir kaynak kod dizinine veya ikili dosyaya işaret etmesi ve --output çözümleme sonuçlarını depolamak için bir dizine işaret etmesi gerekir.

Analiz bayrakları hakkında daha fazla bilgi için aşağıdaki komutu kullanın:

./appcat analyze --help

AppCAT için kullanılabilir hedefleri denetlemek için aşağıdaki komutu kullanın:

./appcat analyze --list-targets

Bu komut aşağıdaki çıkışı oluşturur:

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

Birden çok uygulamayı analiz etme

AppCAT, komut yürütme başına birden çok uygulama çözümlemesini destekler. Tek bir komutta birden çok uygulamayı analiz etmek için bayrağının giriş yollarının --input virgülle ayrılmış bir listesini sağlayabilirsiniz. Çıkış dizini ve statik rapor, tüm uygulamalar için birleşik analiz sonuçlarını içerir.

Birden çok uygulamayı analiz etmek için aşağıdaki komutu kullanın:

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

AppCAT ayrıca mevcut bir çıkış dizinine ve statik rapora artımlı olarak daha fazla uygulama analizi eklemek için seçeneğini kullanmanıza --bulk olanak tanır. --bulk seçeneğini kullandığınızda, aynı çıktıya yazan tüm komut yürütmelerinde onu tutarlı bir şekilde kullanmalısınız.

Uyarı

Birden çok giriş yolu sağladığınızda, --bulk varsayılan olarak etkinleştirilir.

Mevcut statik rapora artımlı olarak daha fazla uygulama analizi eklemek için aşağıdaki komutu kullanın:

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

Alt komutu dönüştür

Alt komut, transform 6.x sürümünde kullanılan önceki appcat XML kurallarını bu sürüm 7.x tarafından kullanılan yeni YAML biçimine dönüştürmenizi sağlar.

Kuralları dönüştürmek için aşağıdaki komutu kullanın:

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

Bayrağın --input XML kuralları içeren bir dosya veya dizine işaret etmesi ve bayrağının --output dönüştürülen YAML kuralları için çıkış dizinine işaret etmesi gerekir.

Örnekler

Uyarı

Ayıklanan klasördeki betikler için dosya izinlerinin yürütmeye izin verecek şekilde ayarlandığından emin olun.

Samples dizininde, farklı çözümleme türlerini çalıştırmak için aşağıdaki betikleri bulabilirsiniz:

  • çalıştırma değerlendirmesi: Kod değerlendirmesi ve Airsonic'i Tomcat üzerinde Azure App Service'e geçirme adımlarını içeren bir rapor sağlar.
  • run-assessment-transform-rules: Windup XML kurallarını analyzer-lsp uyumlu YAML kurallarına dönüştürür.
  • run-assessment-custom-rules: Özel kurallar (XML'yi YAML'ye dönüştürme) kullanarak bir kod değerlendirme raporu sağlar.
  • run-assessment-openjdk21: Kod değerlendirmesi ve Airsonic'i OpenJDK 21'e geçirme adımlarını içeren bir rapor oluşturur.
  • run-assessment-package-only: Belirli paketleri değerlendirerek bir rapor oluşturur.

Bu betikler, müzik koleksiyonunuza erişmenizi ve bunları paylaşmanızı sağlayan topluluk odaklı, web tabanlı bir medya aktarıcı olan Airsonic-Advanced örnek projesiyle birlikte kullanılmak üzere tasarlanmıştır.

Aşağıdaki komutu kullanarak uygulama deposunu el ile kopyalayabilirsiniz:

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

Kopyalamadan sonra, değerlendirme betiklerini çalıştırırken kopyalanan klasörün yolunu sağlayın. İşletim sisteminize bağlı olarak, aşağıdaki örnekte gösterildiği gibi uygun betiği çalıştırın:

Uyarı

Betikleri çalıştırmadan önce Airsonic Advanced projesini yerel bir yola kopyaladığınızdan emin olun.

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

Raporlar otomatik olarak oluşturulur ve başlatılır. Raporları ../samples/report-* (Linux/macOS) veya ..\samples\report-* (Windows) altında bulabilirsiniz.

Analizin özeti

Raporun giriş sayfasında tüm analiz edilen uygulamaların özet görünümü gösterilir. Buradan, ayrıntılı bulguları keşfetmek için tek tek uygulama raporlarına gidebilirsiniz.

Uygulama özeti raporunun ekran görüntüsü.

Sağ üst köşedeki Copilot'a Sorun düğmesi sizi Visual Studio Code'daki GitHub Copilot App Modernization for Java uzantısına yönlendirir. Bu uzantı, AppCAT ve GitHub Copilot'un yapay zeka özellikleriyle desteklenen Java uygulamalarını Azure'a geçirmek için temel özellikleri olarak hem uygulama değerlendirmesi hem de kod düzeltmesi sağlar.

Değerlendirme raporu

Değerlendirme raporu, uygulamayı Azure'a başarıyla geçirmek için ele almanız gereken Azure hazırlığı, bulut yerel ve Java modernleştirmesinin çeşitli yönlerini içeren kategorilere ayrılmış bir sorun listesi sağlar.

Her Sorun önem derecesine ( Zorunlu, İsteğe Bağlı veya Potansiyel ) göre kategorilere ayrılmıştır ve etkilenen kod satırlarının sayısını içerir.

Bağımlılıklar ve Teknolojiler sekmeleri, uygulama içinde kullanılan kitaplıkları ve teknolojileri görüntüler.

AppCAT değerlendirme raporunun ekran görüntüsü.

Belirli bir sorun için ayrıntılı bilgi

Her sorun için, yalnızca seçerek daha fazla bilgi (sorun ayrıntıları, kuralın içeriği vb.) alabilirsiniz. Bu sorundan etkilenen tüm dosyaların listesini de alırsınız.

AppCAT sorun ayrıntı raporunun ekran görüntüsü.

Ardından, sorundan etkilenen her dosya veya sınıf için kaynak koda atlayarak sorunu oluşturan kod satırını vurgulayabilirsiniz.

AppCAT sorun kodu raporunun ekran görüntüsü.

Sürüm notları

7.6.0.7

Bu sürüm aşağıdaki düzeltmeleri ve geliştirmeleri içerir.

  • Gradle tabanlı Spring uygulamalarını analiz etme desteği.
  • Open Liberty projelerini analiz etme desteği.
  • Değerlendirme sırasında işlenen kural sayısını görüntüleyerek değerlendirme ilerleme durumunu gösterin.
  • Önkoşullardan Maven kaldırıldı.
  • Yayımlanan yapıtlarda airsonic.war, airsonic-advanced ile örnek uygulama olarak değiştirildi.

7.6.0.6

Bu sürüm aşağıdaki düzeltmeleri ve geliştirmeleri içerir.

  • Varsayılan bir .appcat-ignore dosyası artık varsayılan olarak yayın paketine eklenmiştir. Bu dosya, aracın analiz edilmesi gerekmeyen belirtilen klasörleri veya yolları dışlamasına neden olur.
  • full modunu kullanırken raporda eksik bağımlılıkların sorunu düzeltildi (bu, --mode kullanılarak belirtilir).
  • Hiçbir hedef belirtilmediğinde AppCAT tarafından desteklenen hedeflere yönelik kapsamlı analiz.
  • Analiz sırasında açıklama satırları yoksayıldı.
  • XML kuralları için yanlış konum düzeltildi.

7.6.0.5

Bu sürüm aşağıdaki düzeltmeleri ve geliştirmeleri içerir.

  • Bayrağı --input artık birden çok değeri kabul ederek tek bir komut yürütmesinde birden çok uygulamayı analiz etmenizi sağlar.
  • Statik rapor, daha iyi okunabilirlik için sorun listesini kategorilere ayırır.
  • Kullanıcılar artık AppCAT'i kullanıcının giriş dizini dışındaki dizinlere yükleyebilir.
  • Hem analyze hem de --bulk ile birlikte --skip-static-report çalıştırılırken birden çok çıkış dosyası oluşturulamaması sorununu düzelttik.
  • java sağlayıcısı başlatılmamışsa --bulk ve --rules ile analiz edilirken oluşan bir sorun düzeltildi.
  • Belirtilen paket bulunamadığında --packages bayrağı kullanıldığında çözümlemenin başarısız olmasına neden olan bir sorun düzeltildi.
  • --exclude-paths Bayrağı kullanım dışı bırakıldı. Dosyaları veya dizinleri dışlamak için giriş dizinine veya yükleme dizinine yerleştirilen .appcat-ignore dosyasını (glob desenlerini destekleyen) kullanın.

7.6.0.4

Bu sürüm aşağıdaki düzeltmeleri ve geliştirmeleri içerir.

  • Telemetri koleksiyonunu destekler. Telemetriyi devre dışı bırakmak için bayrağını --disable-telemetry kullanın.
  • Cli komut biçimini daha net hale getirmek için yeniden düzenlemektedir.
    • --source bayrağını güncelleyerek --source <source1> --source <source2> ...'den --source <source1>,<source2>,...'ye değiştirir.
    • --target bayrağını güncelleyerek --target <target1> --target <target2> ...'den --target <target1>,<target2>,...'ye değiştirir.
    • --rules bayrağını güncelleyerek --rules <rule1> --rules <rule2> ...'den --rules <rule1>,<rule2>,...'ye değiştirir.
    • --maven-settings bayrağını --custom-maven-settings olarak günceller
    • --limit-code-snips bayrağını --code-snips-number olarak günceller
    • --json-output bayrağını kaldırır, --output-format bayrağını kullanır, çıkış biçimini seçin: 'yaml' veya 'json'. (varsayılan yaml)
    • --provider, , --override-provider-settings--list-providersve --dependency-folders bayraklarını kaldırır
  • Yeni --exclude-paths bir bayrak: Çözümlemede göz ardı edilmesi gereken yolları belirtir. Birden çok değer için virgülle ayrılmış bir liste kullanın: --exclude-paths <path1>,<path2>,.... Varsayılan değer şudur: [].
  • Yeni --packages bir bayrak: Değerlendirilecek uygulama sınıfı paketlerini belirtir. Birden çok değer için virgülle ayrılmış bir liste kullanın: --packages <package1>,<package2>,.... Varsayılan değer şudur: [].
  • Yeni --dry-run bir bayrak: Gerçekte analizi çalıştırmadan yalnızca bayrakların geçerli olup olmadığını denetler. Varsayılan değer şudur: false.
  • azure-spring-apps öğesini uygulama kategorisinden --list-targetskaldırır.

7.6.0.3

Bu sürüm aşağıdaki düzeltmeleri ve geliştirmeleri içerir.

  • Yeni --limit-code-snips bayrak: Kural değerlendirmesi sırasında kod parçacığı sınırlarını denetler (0=sınırsız, -1=kod parçacıklarını devre dışı bırak).
  • Toplu analiz modunda eksik bağımlılık dosyası hataları düzeltildi: Araç artık --mode=source-only kullanılarak Java dışı projelerde veya Java projelerinde yapılan toplu analiz sırasında durmaz.

7.6.0.2

Bu sürüm aşağıdaki düzeltmeleri içerir.

  • java-removals-00150 kuralı artık doğru şekilde tetikleniyor.

7.6.0.1

Bu sürüm aşağıdaki düzeltmeleri ve geliştirmeleri içerir.

  • --analyze-known-libraries bayrağı: Artık Windows üzerinde çalışıyor.
  • Dizin temizleme: Windows'ta analiz sırasında oluşturulan ek dizinler artık otomatik olarak temizleniyor.
  • --json-output flag: Artık çalışır durumda.
  • Kural ayrıştırma hatası: Hata unable to parse all the rules for ruleset çözüldü.
  • İçgörüler sekmesi açıklamaları: Eksik kural açıklamaları artık mevcut.
  • İnternet bağlantısı bağımlılığı: Analiz artık İnternet bağlantısı olmadan başarısız olmaz.
  • --context-lines flag: Şimdi 0 olarak ayarlandığında beklendiği gibi davranır.
  • Aracı çalıştırmak için Python gereksinimi kaldırıldı.

7.6.0.0

Bu sürüm, Konveyor projesinin farklı bir bileşen kümesini temel alır.

Genel Güncelleştirmeler

6.3.9.0

Bu sürüm aşağıdaki düzeltmeleri içerir ve bir dizi yeni kural içerir.

Genel Güncelleştirmeler

  • Windup ana deposundan entegre edilen değişiklikler (6.3.9.Final Sürümü).
  • Kural açıklamalarında ve yardım metninde bozuk bağlantılar çözüldü.

Kurallar

  • Azure İleti Kuyruğu: azure-message-queue-rabbitmq ve azure-message-queue-amqp için güncelleştirildi ve yeni kurallar eklendi.
  • Azure Service Bus: Azure Service Bus için bir algılama kuralı kullanıma sunulmuştur.
  • MySQL ve PostgreSQL: Geliştirilmiş bağımlılık algılama kuralları.
  • Azure-AWS Kuralları: Gelişmiş ve geliştirilmiş mevcut kurallar.
  • S3 Spring Starter: S3 Spring Starter için bir algılama kuralı eklendi.
  • RabbitMQ Spring JMS: RabbitMQ Spring JMS için bir algılama kuralı eklendi.
  • Kayıt Kuralları: güncellenmiş ve geliştirilmiş kayıtla ilgili kurallar.
  • Yerel Depolama Kuralı: Yerel depolama kuralı güncelleştirildi ve iyileştirilir.
  • Azure Dosya Sistemi Kuralı: Azure Dosya Sistemi kuralı güncelleştirildi ve iyileştirilir.

Kütüphaneler

  • Güvenlik açıklarını gidermek için kitaplıklar güncelleştirildi.

6.3.0.9

Bu sürüm aşağıdaki düzeltmeleri içerir ve bir dizi yeni kural içerir.

  • Kuralla localhost-java-00001 ilgili bir sorun çözüldü.
  • AWS S3, AWS SQS, Alibaba Bulut İşletim Sistemi S, Alibaba Cloud SMS, Alibaba Scheduler X, Alibaba Cloud Seata ve Alibaba Rocket MQ gibi teknolojileri tanımlamak için yeni kurallar eklendi.
  • şimdi azure-file-system-02000 XML dosya uzantılarını destekleyecek şekilde güncelleştirildi.
  • Güvenlik açıklarını gidermek için çeşitli kitaplıklar yükseltildi.

6.3.0.8

Daha önce, bir hedef kümesi varsayılan olarak etkinleştirildiğinden, bazı müşterilerin daha az kritik sorunlarla ilgili çok fazla sorunu olan büyük uygulamaları değerlendirmesini zorlaştırıyordu. Raporlarda gürültüyü azaltmak için kullanıcıların artık yürütürken --targetparametresiyle appcatbirden çok hedef belirtmesi gerekir ve bu sayede yalnızca önemli hedefleri belirleme seçeneği sunulur.

6.3.0.7

Azure Migrate uygulaması ve kod değerlendirmesinin GA (Genel Kullanıma Sunuldu) sürümü.

Bilinen sorunlar

7.6.0.7

  • Kural sorunları:
    • azure-system-config-01000 kurallar tetiklenmiyor.
    • Kural azure-password-01000 , aynı dosyada birden çok ihlal olsa bile yalnızca bir ihlal algılar.
  • Windows'taki İzleyici Hata kanalında bir hata: Windows system assumed buffer larger than it is, events have likely been missed. Bu hata iletisi, Windows'ta uzun süre çalışan işler sırasında komut satırında görüntülenir.

7.6.0.6

  • Kural sorunları:
    • azure-system-config-01000 kurallar tetiklenmiyor.
    • Kural azure-password-01000 , aynı dosyada birden çok ihlal olsa bile yalnızca bir ihlal algılar.
  • Windows'taki İzleyici Hata kanalında bir hata: Windows system assumed buffer larger than it is, events have likely been missed. Bu hata iletisi, Windows'ta uzun süre çalışan işler sırasında komut satırında görüntülenir.

7.6.0.5

  • Kural sorunları:
    • azure-system-config-01000 kurallar tetiklenmiyor.
    • Kural azure-password-01000 , aynı dosyada birden çok ihlal olsa bile yalnızca bir ihlal algılar.
  • Windows'taki İzleyici Hata kanalında bir hata: Windows system assumed buffer larger than it is, events have likely been missed. Bu hata iletisi, Windows'ta uzun süre çalışan işler sırasında komut satırında görüntülenir.

7.6.0.4

  • Kural sorunları:
    • azure-system-config-01000 kurallar tetiklenmiyor.
    • Kural azure-password-01000 , aynı dosyada birden çok ihlal olsa bile yalnızca bir ihlal algılar.
  • Windows'taki İzleyici Hata kanalında bir hata: Windows system assumed buffer larger than it is, events have likely been missed. Bu hata iletisi, Windows'ta uzun süre çalışan işler sırasında komut satırında görüntülenir.

7.6.0.3

  • Bayrağı --overrideProviderSettings desteklenmez.
  • Kural sorunları:
    • azure-system-config-01000, http-session-01000 kurallar tetiklenmiyor.
    • FileSystem - Java IO kuralı tetiklenmiyor.
  • Windows'da WAR dosyalarının çözümlenmesi şu hatayı üretir: Failed to Move Decompiled File. Windows işletim sisteminde oluşturulan birkaç yedekli sorundan sorumlu olan Windows'da WAR dosyaları analiz edilirken bir hata oluşur.
  • Windows'daki İzleyici Hata kanalında bir hata oluştu: Windows system assumed buffer larger than it is, events have likely been missed. Bu hata iletisi, Windows'ta uzun süre çalışan işler sırasında komut satırında görüntülenir.
  • Ctrl+C devam eden analizi durduramıyor. Geçici bir çözüm olarak, işlemi açıkça sonlandırarak işlemi el ile sonlandırın.
  • İkili çözümleme raporlarında kod parçacığı başlığı yanlış veya var olmayan bir dosya yolu gösterir.

7.6.0.2

  • Bayrağı --overrideProviderSettings desteklenmez.
  • Kural sorunları:
    • azure-system-config-01000, http-session-01000 kurallar tetiklenmiyor.
    • FileSystem - Java IO kuralı tetiklenmiyor.
  • Windows'da WAR dosyalarının çözümlenmesi şu hatayı üretir: Failed to Move Decompiled File. Windows işletim sisteminde oluşturulan birkaç yedekli sorundan sorumlu olan Windows'da WAR dosyaları analiz edilirken bir hata oluşur.
  • Windows'daki İzleyici Hata kanalında bir hata oluştu: Windows system assumed buffer larger than it is, events have likely been missed. Bu hata iletisi, Windows'ta uzun süre çalışan işler sırasında komut satırında görüntülenir.
  • Ctrl+C devam eden analizi durduramıyor. Geçici bir çözüm olarak, işlemi açıkça sonlandırarak işlemi el ile sonlandırın.
  • İkili çözümleme raporlarında kod parçacığı başlığı yanlış veya var olmayan bir dosya yolu gösterir.

7.6.0.1

  • Bayrağı --overrideProviderSettings desteklenmez.
  • Kural sorunları:
    • azure-system-config-01000, http-session-01000, java-removals-00150 kuralları tetiklenmiyor.
    • FileSystem - Java IO kuralı tetiklenmiyor.
  • Windows'da WAR dosyalarının çözümlenmesi şu hatayı üretir: Failed to Move Decompiled File. Windows işletim sisteminde oluşturulan birkaç yedekli sorundan sorumlu olan Windows'da WAR dosyaları analiz edilirken bir hata oluşur.
  • Windows'daki İzleyici Hata kanalında bir hata oluştu: Windows system assumed buffer larger than it is, events have likely been missed. Bu hata iletisi, Windows'ta uzun süre çalışan işler sırasında komut satırında görüntülenir.
  • Ctrl+C devam eden analizi durduramıyor. Geçici bir çözüm olarak, işlemi açıkça sonlandırarak işlemi el ile sonlandırın.
  • İkili çözümleme raporlarında kod parçacığı başlığı yanlış veya var olmayan bir dosya yolu gösterir.

7.6.0.0

  • Bayrak --analyze-known-libraries Windows üzerinde çalışmıyor.
  • Windows'da, çözümleme işlemi sırasında aşağıdaki ek klasörler oluşturulur ancak tamamlandıktan sonra otomatik olarak kaldırılmaz. Çözümleme tamamlandıktan sonra bu ek klasörleri kaldırmak isteyebilirsiniz.
    • .metadata
    • org.eclipse.osgi
    • org.eclipse.equinox.app
    • org.eclipse.core.runtime
    • org.eclipse.equinox.launcher
  • Bayrağı --overrideProviderSettings desteklenmez.
  • Bayrağı --json-output desteklenmez. Gelecek bir sürümde output.yaml ve dependency.yaml dosyaları için JSON çıkışları oluşturur.
  • Kural sorunları:
    • azure-system-config-01000, http-session-01000, java-removals-00150 kuralları tetiklenmiyor.
    • FileSystem - Java IO kuralı tetiklenmiyor.
    • Analiz çalıştırılırken hata unable to parse all the rules for ruleset oluştu. Bu hata, araç kural kümesindeki tüm kuralları ayrıştırmada başarısız olduğunda analiz sırasında oluşur.
  • Windows'da WAR dosyalarının çözümlenmesi şu hatayı üretir: Failed to Move Decompiled File. Windows işletim sisteminde oluşturulan birkaç yedekli sorundan sorumlu olan Windows'da WAR dosyaları analiz edilirken bir hata oluşur.
  • İçgörüler sekmesinde bazı kuralların açıklamaları eksik. Bazı etiket kurallarında açıklama bulunmaması, raporun İçgörüler sekmesinde boş başlıkların görünmesine neden olur.
  • Windows'da İzleyici Hata kanalında hata: Windows system assumed buffer larger than it is, events have likely been missed. Bu hata iletisi, Windows'ta uzun süre çalışan işler sırasında komut satırında görüntülenir.
  • Bu sürüm, bağımlılık analizi için etkin bir İnternet bağlantısı gerektirir.
  • Ctrl+C devam eden analizi durduramıyor. Geçici bir çözüm olarak, işlemi açıkça sonlandırarak işlemi el ile sonlandırın.
  • Bayrak --context-lines 0 sayısı olarak ayarlandığında beklendiği gibi çalışmaz. Bu bayrak, kullanıcının kaynak kodun raporda ne kadarının görüneceğini sınırlamasını sağlar. 0 değerine ayar yapmak beklendiği gibi çalışmayabilir.

Lisans

Java için Azure Geçişi uygulaması ve kod değerlendirmesi ücretsiz, açık kaynak tabanlı bir araçtır.

Veri toplama

AppCAT varsayılan olarak telemetri verilerini toplar. Microsoft, yaygın sorunları belirlemek ve AppCAT CLI deneyimini geliştirmek için kullanım desenlerini tanımlamak için toplanan verileri toplar. Microsoft AppCAT CLI herhangi bir özel veya kişisel veri toplamaz. Örneğin, kullanım verileri düşük başarı oranına sahip komutlar gibi sorunları tanımlamaya yardımcı olur. Bu bilgiler çalışmalarımızın önceliklerini belirlememize yardımcı olur.

Bu verilerin sağladığı içgörüler bizim için önemli olsa da herkesin kullanım verilerini göndermek istemeyebileceğini de anlıyoruz. komutunu kullanarak veri toplamayı appcat analyze --disable-telemetry devre dışı bırakabilirsiniz. Daha fazla bilgi içingizlilik bildirimimize bakın.