

AWS App Runner wird ab dem 30. April 2026 nicht mehr für Neukunden geöffnet sein. Wenn Sie App Runner verwenden möchten, melden Sie sich vor diesem Datum an. Bestandskunden können den Service weiterhin wie gewohnt nutzen. Weitere Informationen finden Sie unter [Änderung der AWS App Runner Verfügbarkeit](https://docs.aws.amazon.com/apprunner/latest/dg/apprunner-availability-change.html).

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Verwendung der Java-Plattform
<a name="service-source-code-java"></a>

Die AWS App Runner Java-Plattform bietet verwaltete Laufzeiten. Jede Laufzeit macht es einfach, Container mit Webanwendungen zu erstellen und auszuführen, die auf einer Java-Version basieren. Wenn Sie eine Java-Runtime verwenden, startet App Runner mit einem verwalteten Java-Runtime-Image. Dieses Image basiert auf dem [Amazon Linux Docker-Image](https://hub.docker.com/_/amazonlinux) und enthält das Runtime-Paket für eine Version von Java und einige Tools. App Runner verwendet dieses verwaltete Runtime-Image als Basis-Image und fügt Ihren Anwendungscode hinzu, um ein Docker-Image zu erstellen. Anschließend stellt es dieses Image bereit, um Ihren Webservice in einem Container auszuführen.

 Sie geben eine Laufzeit für Ihren App Runner-Dienst an, wenn Sie [einen Dienst mithilfe der App Runner-Konsole oder des [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html)API-Vorgangs erstellen](manage-create.md). Sie können auch eine Laufzeit als Teil Ihres Quellcodes angeben. Verwenden Sie das `runtime` Schlüsselwort in einer [App Runner-Konfigurationsdatei](config-file.md), die Sie in Ihr Code-Repository aufnehmen. Die Benennungskonvention einer verwalteten Laufzeit lautet*<language-name><major-version>*. 

Derzeit basieren alle unterstützten Java-Laufzeiten auf Amazon Corretto. Gültige Namen und Versionen der Java-Laufzeit finden Sie unter. [Informationen zur Java-Runtime-Version](service-source-code-java-releases.md)

App Runner aktualisiert die Laufzeit für Ihren Dienst bei jeder Bereitstellung oder jedem Service-Update auf die neueste Version. Wenn Ihre Anwendung eine bestimmte Version einer verwalteten Laufzeit benötigt, können Sie diese mithilfe des `runtime-version` Schlüsselworts in der [App Runner-Konfigurationsdatei](config-file.md) angeben. Sie können sich auf eine beliebige Versionsebene beschränken, einschließlich einer Haupt- oder Nebenversion. App Runner aktualisiert die Laufzeit Ihres Dienstes nur auf niedrigerer Ebene.

Versionssyntax für Amazon Corretto-Laufzeiten:


| **Laufzeit** | **Syntax** | **Beispiel** | 
| --- | --- | --- | 
|  corretto11  |  `11.0[.openjdk-update[.openjdk-build[.corretto-specific-revision]]]`  |  `11.0.13.08.1`  | 
|  corretto8  |  `8[.openjdk-update[.openjdk-build[.corretto-specific-revision]]]`  |  `8.312.07.1`  | 

Die folgenden Beispiele veranschaulichen das Sperren von Versionen:
+ `11.0.13`— Sperrt die Open JDK-Update-Version. App Runner aktualisiert nur Open JDK- und Amazon Corretto-Builds auf niedrigerer Ebene.
+ `11.0.13.08.1`— Auf eine bestimmte Version festlegen. App Runner aktualisiert Ihre Runtime-Version nicht.

**Topics**
+ [Konfiguration der Java-Laufzeit](#service-source-code-java.config)
+ [Beispiele für Java-Runtime](#service-source-code-java.examples)
+ [Informationen zur Java-Runtime-Version](service-source-code-java-releases.md)

## Konfiguration der Java-Laufzeit
<a name="service-source-code-java.config"></a>

Wenn Sie sich für eine verwaltete Runtime entscheiden, müssen Sie mindestens auch Build- und Run-Befehle konfigurieren. Sie konfigurieren sie bei der [Erstellung](manage-create.md) oder [Aktualisierung](manage-configure.md) Ihres App Runner-Dienstes. Sie können dies mit einer der folgenden Methoden tun:
+ **Verwenden der App Runner-Konsole** — Geben Sie die Befehle im Abschnitt **Build konfigurieren** des Erstellungsprozesses oder der Registerkarte Konfiguration an.
+ **Verwenden der App Runner-API** — Rufen Sie den [UpdateService](https://docs.aws.amazon.com/apprunner/latest/api/API_UpdateService.html)API-Vorgang [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html)oder auf. Geben Sie die Befehle mithilfe der `StartCommand` Elemente `BuildCommand` und des [CodeConfigurationValues](https://docs.aws.amazon.com/apprunner/latest/api/API_CodeConfigurationValues.html)Datentyps an.
+ **Mithilfe einer [Konfigurationsdatei](config-file.md)** — Geben Sie einen oder mehrere Build-Befehle in bis zu drei Build-Phasen sowie einen einzelnen Run-Befehl an, der zum Starten Ihrer Anwendung dient. Es gibt zusätzliche optionale Konfigurationseinstellungen.

Die Bereitstellung einer Konfigurationsdatei ist optional. Wenn Sie einen App Runner-Dienst mithilfe der Konsole oder der API erstellen, geben Sie an, ob App Runner Ihre Konfigurationseinstellungen direkt bei der Erstellung oder aus einer Konfigurationsdatei bezieht.

## Beispiele für Java-Runtime
<a name="service-source-code-java.examples"></a>

Die folgenden Beispiele zeigen App Runner-Konfigurationsdateien zum Erstellen und Ausführen eines Java-Dienstes. Das letzte Beispiel ist der Quellcode für eine vollständige Java-Anwendung, die Sie auf einem Corretto 11-Laufzeitdienst bereitstellen können.

**Anmerkung**  
Die Runtime-Version, die in diesen Beispielen verwendet wird, ist. *11.0.13.08.1* Sie können sie durch eine Version ersetzen, die Sie verwenden möchten. Die neueste unterstützte Java-Runtime-Version finden Sie unter[Informationen zur Java-Runtime-Version](service-source-code-java-releases.md).

### Minimale Corretto 11-Konfigurationsdatei
<a name="service-source-code-java.examples.minimal"></a>

Dieses Beispiel zeigt eine minimale Konfigurationsdatei, die Sie mit einer von Corretto 11 verwalteten Runtime verwenden können. Informationen zu den Annahmen, die App Runner mit einer minimalen Konfigurationsdatei trifft, finden Sie unter.

**Example apprunner.yaml**  

```
version: 1.0
runtime: corretto11
build:
  commands:    
    build:
      - mvn clean package
run:                              
  command: java -Xms256m -jar target/MyApp-1.0-SNAPSHOT.jar .
```

### Erweiterte Corretto 11-Konfigurationsdatei
<a name="service-source-code-java.examples.extended"></a>

Dieses Beispiel zeigt, wie Sie alle Konfigurationsschlüssel mit einer von Corretto 11 verwalteten Laufzeit verwenden können.

**Anmerkung**  
Die Runtime-Version, die in diesen Beispielen verwendet wird, ist. *11.0.13.08.1* Sie können sie durch eine Version ersetzen, die Sie verwenden möchten. Die neueste unterstützte Java-Runtime-Version finden Sie unter[Informationen zur Java-Runtime-Version](service-source-code-java-releases.md).

**Example apprunner.yaml**  

```
version: 1.0
runtime: corretto11
build:
  commands:
    pre-build:
      - yum install some-package
      - scripts/prebuild.sh
    build:
      - mvn clean package
    post-build:
      - mvn clean test
  env:
    - name: M2
      value: "/usr/local/apache-maven/bin"
    - name: M2_HOME
      value: "/usr/local/apache-maven/bin"
run:
  runtime-version: 11.0.13.08.1
  command: java -Xms256m -jar target/MyApp-1.0-SNAPSHOT.jar .
  network:
    port: 8000
    env: APP_PORT
  env:
    - name: MY_VAR_EXAMPLE
      value: "example"
```

### Vollständige Corretto 11-Anwendungsquelle
<a name="service-source-code-java.examples.end2end"></a>

Dieses Beispiel zeigt den Quellcode für eine vollständige Java-Anwendung, die Sie auf einem Corretto 11-Laufzeitdienst bereitstellen können.

**Example src/main/java/com/HelloWorld/HelloWorld.java**  

```
package com.HelloWorld;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloWorld {

    @RequestMapping("/")
    public String index(){
        String s = "Hello World";
        return s;
    }
}
```

**Example src/main/java/com/HelloWorld/Main.java**  

```
package com.HelloWorld;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Main {

    public static void main(String[] args) {

        SpringApplication.run(Main.class, args);
    }
}
```

**Example apprunner.yaml**  

```
version: 1.0
runtime: corretto11
build:
  commands:    
    build:
      - mvn clean package
run:                              
  command: java -Xms256m -jar target/HelloWorldJavaApp-1.0-SNAPSHOT.jar .
  network:
    port: 8080
```

**Example pom.xml**  

```
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.3.1.RELEASE</version>
    <relativePath/>
  </parent>
  <groupId>com.HelloWorld</groupId>
  <artifactId>HelloWorldJavaApp</artifactId>
  <version>1.0-SNAPSHOT</version>

  <properties>
    <java.version>11</java.version>
  </properties>

  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-data-rest</artifactId>
    </dependency>

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <groupId>org.junit.vintage</groupId>
          <artifactId>junit-vintage-engine</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.0</version>
        <configuration>
          <release>11</release>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>
```

# Informationen zur Java-Runtime-Version
<a name="service-source-code-java-releases"></a>

In diesem Thema werden die vollständigen Informationen zu den Java-Runtime-Versionen aufgeführt, die App Runner unterstützt.


**Unterstützte Runtime-Versionen — originaler App Runner-Build**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/apprunner/latest/dg/service-source-code-java-releases.html)

**Anmerkung**  
App Runner bietet einen überarbeiteten Build-Prozess für bestimmte Hauptlaufzeiten, die in jüngerer Zeit veröffentlicht wurden. Aus diesem Grund finden Sie in bestimmten Abschnitten dieses Dokuments Verweise auf den *überarbeiteten App Runner-Build* *und den ursprünglichen App Runner-Build*. Weitere Informationen finden Sie unter [Verwaltete Runtime-Versionen und der App Runner-Build](service-source-code.md#service-source-code.build-detail).