Udostępnij za pośrednictwem


Rozwiązywanie typowych problemów z kompilacją w usłudze Azure Spring Apps

Uwaga

Plany Podstawowa, Standardowa i Enterprise zostaną wycofane od połowy marca 2025 r. z 3-letnim okresem emerytalnym. Zalecamy przejście do usługi Azure Container Apps. Aby uzyskać więcej informacji, zobacz ogłoszenie o wycofaniu usługi Azure Spring Apps.

Zużycie standardowe i dedykowany plan zostaną wycofane od 30 września 2024 r. z całkowitym zamknięciem po sześciu miesiącach. Zalecamy przejście do usługi Azure Container Apps. Aby uzyskać więcej informacji, zobacz Migrowanie użycia usługi Azure Spring Apps w warstwie Standardowa i dedykowanego planu do usługi Azure Container Apps.

Ten artykuł dotyczy: ❎ Podstawowa/Standardowa ✅ Enterprise

W tym artykule opisano sposób rozwiązywania problemów z kompilacją wdrożenia usługi Azure Spring Apps.

Kody zakończenia kompilacji

Plan usługi Azure Spring Apps Enterprise używa pakietu Tanzu Buildpacks do przekształcania kodu źródłowego aplikacji na obrazy. Aby uzyskać więcej informacji, zobacz Tanzu Buildpacks.

Podczas wdrażania aplikacji w usłudze Azure Spring Apps przy użyciu interfejsu wiersza polecenia platformy Azure w konsoli interfejsu wiersza polecenia platformy Azure zostanie wyświetlony dziennik kompilacji. Jeśli kompilacja zakończy się niepowodzeniem, usługa Azure Spring Apps wyświetli kod zakończenia i komunikat o błędzie w konsoli interfejsu wiersza polecenia wskazujący, dlaczego wykonanie pakietu buildpack nie powiodło się w różnych fazach cyklu życia pakietu kompilacji.

Poniższa lista zawiera opis niektórych typowych kodów zakończenia:

  • 20 — Nie można wykryć wszystkich grup kompilacji.

    Rozważ następujące możliwe przyczyny kodu zakończenia 20:

    • Używany konstruktor nie obsługuje używanego języka.

      Jeśli używasz konstruktora domyślnego, sprawdź język, który obsługuje konstruktor domyślny. Aby uzyskać więcej informacji, zobacz sekcję Obsługiwane typy APM w temacie How to configure APM integration and CA certificates (Jak skonfigurować integrację z usługą APM i certyfikaty urzędu certyfikacji).

      Jeśli używasz konstruktora niestandardowego, sprawdź, czy pakiet buildpack konstruktora niestandardowego obsługuje język używany przez projekt.

    • Używasz nieprawidłowej ścieżki; na przykład plik pom.xml projektu Maven nie znajduje się w ścieżce głównej.

      Ustaw BP_MAVEN_POM_FILE wartość , aby określić lokalizację pliku pom.xml projektu.

    • Wystąpił problem z aplikacją; na przykład plik .jar nie ma /META-INF/MANIFEST. Plik MF zawierający Main-Class wpis.

  • 51 — Błąd kompilacji pakietu BuildPack.

    Rozważ następujące możliwe przyczyny kodu zakończenia 51:

    • Jeśli usługa Azure Spring Apps wyświetli komunikat Build failed in stage build with reason OOMKilled o błędzie w konsoli interfejsu wiersza polecenia platformy Azure, kompilacja nie powiodła się z powodu niewystarczającej ilości pamięci.

      Użyj następującego polecenia, aby zwiększyć ilość pamięci przy użyciu zmiennej środowiskowej build-memory :

      az spring app deploy \
          --resource-group <your-resource-group-name> \
          --service <your-Azure-Spring-Apps-name> \
          --name <your-app-name> \
          --build-memory 3Gi
      
    • Kompilacja nie powiodła się z powodu błędu kodu źródłowego aplikacji; na przykład w kodzie źródłowym występuje błąd kompilacji.

      Sprawdź dziennik kompilacji, aby znaleźć główną przyczynę.

    • Kompilacja nie powiodła się z powodu błędu zależności pobierania; na przykład problem z siecią spowodował niepowodzenie pobierania zależności narzędzia Maven.

    • Kompilacja nie powiodła się z powodu nieobsługiwanej wersji zestawu JDK. Na przykład plik JAR został skompilowany przy użyciu wersji LTS innych niż Java, które nie są obsługiwane przez pakiet buildpack. Aby zapoznać się z obsługiwanymi wersjami, zobacz sekcję Deploy Java applications (Wdrażanie aplikacji Java) w temacie How to deploy polyglot apps in the Azure Spring Apps Enterprise plan (Wdrażanie aplikacji w języku Java) w temacie How to deploy polyglot apps in the Azure Spring Apps Enterprise plan (Wdrażanie aplikacji wielolotowych w planie Azure Spring Apps Enterprise).

  • 62 — Nie można zapisać obrazu w usłudze Azure Container Registry.

    Rozważ następującą możliwą przyczynę kodu zakończenia 62:

    • Jeśli usługa Azure Spring Apps wyświetla komunikat Failed to write image to the following tags o błędzie w dzienniku kompilacji, kompilacja nie powiodła się z powodu problemu z siecią.

      Spróbuj ponownie rozwiązać ten problem.

Jeśli aplikacja jest plikiem statycznym lub dynamiczną aplikacją frontonu obsługiwaną przez serwer internetowy, zobacz sekcję Typowe błędy kompilacji i wdrażania w temacie Wdrażanie internetowych plików statycznych.

Następne kroki