Java-Tutorial für AWS Cloud9 - AWS Cloud9

AWS Cloud9 ist für Neukunden nicht mehr verfügbar. Bestandskunden von AWS Cloud9 können den Service weiterhin wie gewohnt nutzen. Weitere Informationen

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.

Java-Tutorial für AWS Cloud9

Wichtig

Wenn Sie eine AWS Cloud9 Entwicklungsumgebung verwenden, die von einer EC2 Instanz mit 2 GiB oder mehr Arbeitsspeicher unterstützt wird, empfehlen wir Ihnen, die erweiterte Java-Unterstützung zu aktivieren. Dies ermöglicht den Zugriff auf Produktivitätsfunktionen wie Code-Vervollständigung, Untersuchung auf Fehler, kontextspezifische Aktionen und Debugging-Optionen wie Haltepunkte und Stepping.

Weitere Informationen finden Sie unter Erweiterter Support für Java-Entwicklung.

In diesem Tutorial können Sie Java-Code in einer AWS Cloud9 Entwicklungsumgebung ausführen.

Wenn Sie diesem Tutorial folgen und dieses Beispiel erstellen, kann dies zu Gebühren für Ihr AWS Konto führen. Dazu gehören mögliche Gebühren für Dienste wie Amazon EC2 und Amazon S3. Weitere Informationen finden Sie unter EC2Amazon-Preise und Amazon S3-Preise.

Voraussetzungen

Bevor Sie dieses Beispiel verwenden, stellen Sie sicher, dass Ihre Einrichtung die folgenden Anforderungen erfüllt:

  • Sie müssen über eine bestehende AWS Cloud9 EC2 Entwicklungsumgebung verfügen. In diesem Beispiel wird davon ausgegangen, dass Sie bereits über eine EC2 Umgebung verfügen, die mit einer EC2 Amazon-Instance verbunden ist, auf der Amazon Linux ausgeführt wird, oder Ubuntu Server. Wenn Sie ein andere Art von Umgebung oder ein anderes Betriebssystem verwenden, müssen Sie die Anweisungen dieses Beispiels zum Einrichten zugehöriger Tools möglicherweise anpassen. Weitere Informationen finden Sie unter Schaffung einer Umgebung in AWS Cloud9.

  • Sie haben die AWS Cloud9 IDE für die bestehende Umgebung bereits geöffnet. Wenn Sie eine Umgebung AWS Cloud9 öffnen, wird die IDE für diese Umgebung in Ihrem Webbrowser geöffnet. Weitere Informationen finden Sie unter Öffnen einer Umgebung in AWS Cloud9.

Schritt 1: Installieren der erforderlichen Tools

In diesem Schritt installieren Sie eine Reihe von Java-Entwicklungstools in Ihrer AWS Cloud9 Entwicklungsumgebung. Wenn Sie in Ihrer Umgebung bereits eine Reihe von Java-Entwicklungstools wie Oracle JDK oder Open JDK installiert haben, können Sie mit dem Vorgang fortfahrenSchritt 2: Code hinzufügen. Dieses Beispiel wurde mit Open JDK 8 entwickelt, das Sie in Ihrer Umgebung installieren können, indem Sie das folgende Verfahren ausführen.

  1. Vergewissern Sie sich, ob Open JDK 8 bereits installiert ist. Führen Sie dazu in einer Terminalsitzung in der AWS Cloud9 IDE die Befehlszeilenversion des Java-Runners mit der -versionOption aus. (Um eine neue Terminalsitzung zu starten, wählen Sie in der Menüleiste Window (Fenster), New Terminal (Neues Terminal) aus.

    java -version

    Führen Sie basierend auf der Ausgabe des vorhergehenden Befehls einen der folgenden Schritte aus:

    • Wenn in der Ausgabe angegeben wird, dass der java Befehl nicht gefunden wurde, fahren Sie mit Schritt 2 dieses Verfahrens fort, um Open JDK 8 zu installieren.

    • Wenn die Ausgabe Werte enthält, die mit Java(TM)Java Runtime Environment, Java SEJ2SE, oder beginnenJava2, JDK ist Open nicht installiert oder nicht als Standard-Toolset für die Java-Entwicklung festgelegt. Fahren Sie mit Schritt 2 dieses Verfahrens fort, um Open JDK 8 zu installieren, und wechseln Sie dann zur Verwendung von Open JDK 8.

    • Wenn die Ausgabe Werte enthält, die mit java version 1.8 und OpenJDK beginnen, fahren Sie mit Schritt 2: Code hinzufügen fort. Open JDK 8 ist für dieses Beispiel korrekt installiert.

    • Wenn die Ausgabe einen Wert java version unter 1.8 und Werte enthält, die mit beginnenOpenJDK, fahren Sie mit Schritt 2 dieses Verfahrens fort, um die installierte JDK Open-Version auf Open JDK 8 zu aktualisieren.

  2. Stellen Sie sicher, dass die neuesten Sicherheitsupdates und Fehlerbehebungen installiert wurden. Führen Sie dazu das yum-Tool (für Amazon Linux) oder das apt-Tool (für Ubuntu Server) mit dem Befehl update aus.

    Für Amazon Linux:

    sudo yum -y update

    Für Ubuntu Server:

    sudo apt update
  3. Installieren Sie Open JDK 8. Führen Sie dazu das Tool yum (für Amazon Linux) oder das apt-Tool (für Ubuntu Server) mit dem installBefehl aus und geben Sie das Open JDK 8-Paket an.

    Für Amazon Linux:

    sudo yum -y install java-1.8.0-openjdk-devel

    Für Ubuntu Server:

    sudo apt install -y openjdk-8-jdk

    Weitere Informationen finden Sie unter So laden Sie vorgefertigte JDK Open-Pakete herunter und installieren sie auf der JDK Open-Website.

  4. Wechseln Sie zum Standard-Java-Entwicklungstoolset oder führen Sie ein Upgrade auf Open JDK 8 durch. Führen Sie zu diesem Zweck den Befehl update-alternatives mit der Option --config aus. Führen Sie diesen Befehl zweimal aus, um zu den Befehlszeilenversionen des Java-Runners und -Compilers zu wechseln oder ein entsprechendes Upgrade vorzunehmen.

    sudo update-alternatives --config java sudo update-alternatives --config javac

    Geben Sie an jeder Eingabeaufforderung die Auswahlnummer für Open JDK 8 ein (die Nummer, die enthältjava-1.8).

  5. Vergewissern Sie sich, dass die Befehlszeilenversionen des Java-Runners und des Compilers Open JDK 8 verwenden. Führen Sie zu diesem Zweck die Befehlszeilenversionen von Java-Runner und -Compiler mit der Option -version aus.

    java -version javac -version

    Wenn Open JDK 8 installiert und korrekt eingestellt ist, enthält die Ausgabe der Java-Runner-Version einen Wert, der mit beginntopenjdk version 1.8, und die Ausgabe der Java-Compiler-Version beginnt mit dem Wert. javac 1.8

Schritt 2: Code hinzufügen

Erstellen Sie in der AWS Cloud9 IDE eine Datei mit dem folgenden Code und speichern Sie die Datei unter dem Namenhello.java. (Um eine Datei zu erstellen, wählen Sie in der Menüleiste File (Datei), New File (Neue Datei) aus. Um die Datei zu speichern, wählen Sie Datei, Save (Speichern).)

public class hello { public static void main(String []args) { System.out.println("Hello, World!"); System.out.println("The sum of 2 and 3 is 5."); int sum = Integer.parseInt(args[0]) + Integer.parseInt(args[1]); System.out.format("The sum of %s and %s is %s.\n", args[0], args[1], Integer.toString(sum)); } }

Schritt 3: Erstellen und Ausführen des Codes

  1. Verwenden Sie die Befehlszeilenversion des Java-Compilers, um die Datei hello.java in eine hello.class-Datei zu kompilieren. Führen Sie dazu mithilfe des Terminals im selben Verzeichnis wie die hello.java Datei den Java-Compiler aus und geben Sie die hello.java Datei an. AWS Cloud9 IDE

    javac hello.java
  2. Verwenden Sie die Befehlszeilenversion des Java-Runners, um die Datei hello.class auszuführen. Führen Sie zu diesem Zweck im Verzeichnis mit der Datei hello.class den Java-Runner aus. Geben Sie dabei den Namen der Klasse hello, die in der Datei hello.java deklariert wurde, mit zwei ergänzenden Ganzzahlen (z. B. 5 und 9) an.

    java hello 5 9
  3. Vergleichen Sie die Ausgabe.

    Hello, World! The sum of 2 and 3 is 5. The sum of 5 and 9 is 14.

Schritt 4: Richten Sie die Verwendung von ein AWS SDK for Java

Sie können dieses Beispiel erweitern, um mit dem einen Amazon S3 S3-Bucket AWS SDK for Java zu erstellen, Ihre verfügbaren Buckets aufzulisten und dann den gerade erstellten Bucket zu löschen.

In diesem Schritt installieren Sie Apache Maven oder Gradle in der Umgebung. Maven und Gradle sind gebräuchliche Systeme zur Build-Automatisierung, die für Java-Projekte verwendet werden können. Nachdem Sie Maven oder Gradle installiert haben, können Sie die Software verwenden, um ein neues Java-Projekt zu generieren. In diesem neuen Projekt fügen Sie einen Verweis auf das AWS SDK for Java hinzu. Dies AWS SDK for Java bietet eine bequeme Möglichkeit, über Ihren Java-Code mit AWS Diensten wie Amazon S3 zu interagieren.

Einrichten mit Maven

  1. Installieren Sie Maven in Ihrer Umgebung. Um zu sehen, ob Maven bereits installiert ist, verwenden Sie das Terminal in der AWS Cloud9 IDE, indem Sie Maven mit der -versionOption ausführen.

    mvn -version

    Bei erfolgreicher Ausführung enthält die Ausgabe die Maven-Versionsnummer. Wenn Maven bereits installiert ist, fahren Sie mit Schritt 4 in diesem Verfahren fort, um mit Maven ein neues Java-Projekt in der Umgebung zu generieren.

  2. Installieren Sie Maven, indem Sie mit dem Terminal die folgenden Befehle ausführen.

    Für Amazon Linux rufen die folgenden Befehle Informationen über das Paket-Repository ab, in dem Maven gespeichert ist. Diese Informationen werden dann zum Installieren von Maven verwendet.

    sudo wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo sudo sed -i s/\$releasever/6/g /etc/yum.repos.d/epel-apache-maven.repo sudo yum install -y apache-maven

    Weitere Informationen zu den vorherigen Befehlen finden Sie unter Zusätzliche Pakete für Enterprise Linux (EPEL) auf der Fedora-Projekt-Wiki-Website.

    Führen Sie stattdessen für Ubuntu Server den folgenden Befehl aus:

    sudo apt install -y maven
  3. Prüfen Sie die Installation, indem Sie Maven mit der Option -version ausführen.

    mvn -version
  4. Verwenden Sie Maven, um ein neues Java-Projekt zu generieren. Führen Sie zu diesem Zweck mit dem Terminal den folgenden Befehl in dem Verzeichnis aus, in dem Maven das Projekt generieren soll (z. B. im Stammverzeichnis Ihrer Umgebung).

    mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

    Der vorstehende Befehl erstellt die folgende Verzeichnisstruktur für das Projekt in der Umgebung.

    my-app |- src | `- main | `- java | `- com | `- mycompany | `- app | `-App.java |- test | `- java | `- com | `- mycompany | `- app | `- AppTest.java `- pom.xml

    Weitere Informationen zur vorstehenden Verzeichnisstruktur finden Sie unter Maven Quickstart Archetype und Introduction to the Standard Directory Layout auf der Apache Maven Project-Website.

  5. Ändern Sie die Projektobjektmodelldatei (POM) für das Projekt. (Eine POM Datei definiert die Einstellungen eines Maven-Projekts.) Öffnen Sie zu diesem Zweck im Fenster Environment (Umgebung) die Datei my-app/pom.xml. Ersetzen Sie im Editor den aktuellen Inhalt der Datei durch den folgenden Code und speichern Sie dann die Datei pom.xml.

    <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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.mycompany.app</groupId> <artifactId>my-app</artifactId> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>3.6.0</version> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <archive> <manifest> <mainClass>com.mycompany.app.App</mainClass> </manifest> </archive> </configuration> <executions> <execution> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk</artifactId> <version>1.11.330</version> </dependency> </dependencies> </project>

    Die vorherige POM Datei enthält Projekteinstellungen, die Deklarationen wie die folgenden spezifizieren:

    • Die Einstellung artifactid von my-app legt den Namen des Projekt-Stammverzeichnisses und die Einstellung group-id in com.mycompany.app die com/mycompany/app-Unterverzeichnisstruktur sowie die package-Deklaration in den Dateien App.Java und AppTest.java fest.

    • Die artifactId Einstellung vonmy-app, mit der packaging Einstellung vonjar, die version Einstellung von 1.0-SNAPSHOT und die descriptorRef Einstellung von jar-with-dependencies setzen den Namen der JAR Ausgabedatei vonmy-app-1.0-SNAPSHOT-jar-with-dependencies.jar.

    • In plugin diesem Abschnitt wird erklärtJAR, dass eine Single erstellt wird, die alle Abhängigkeiten enthält.

    • Der dependency Abschnitt mit der groupId Einstellung von com.amazon.aws und der artifactId Einstellung von aws-java-sdk beinhaltet die AWS SDK for Java Bibliotheksdateien. Die zu verwendende AWS SDK for Java -Version wird mit der Einstellung version deklariert. Wenn Sie eine andere Version verwenden, ersetzen Sie diese Versionsnummer.

Fahren Sie mit Schritt 5: Richten Sie die Verwaltung von AWS Anmeldeinformationen in Ihrer Umgebung ein fort.

Einrichten mit Gradle

  1. Installieren Sie Gradle in Ihrer Umgebung. Um zu sehen, ob Gradle bereits installiert ist, verwenden Sie das Terminal in der AWS Cloud9 IDE, indem Sie Gradle mit der -versionOption ausführen.

    gradle -version

    Bei erfolgreicher Ausführung enthält die Ausgabe die Gradle-Versionsnummer. Wenn Gradle bereits installiert ist, fahren Sie mit Schritt 4 in diesem Verfahren fort, um mit Gradle ein neues Java-Projekt in der Umgebung zu generieren.

  2. Installieren Sie Gradle, indem Sie mit dem Terminal die folgenden Befehle ausführen. Diese Befehle installieren und starten das! SDKMAN Werkzeug und dann benutzeSDKMAN! um die neueste Version von Gradle zu installieren.

    curl -s "https://get.sdkman.io" | bash source "$HOME/.sdkman/bin/sdkman-init.sh" sdk install gradle

    Weitere Informationen zu den vorherigen Befehlen finden Sie unter Installation auf dem! SDKMAN Website und Installation mit einem Paketmanager auf der Gradle-Website.

  3. Prüfen Sie die Installation, indem Sie Gradle mit der Option -version ausführen.

    gradle -version
  4. Verwenden Sie Gradle, um ein neues Java-Projekt in der Umgebung zu generieren. Führen Sie zu diesem Zweck mit dem Terminal die folgenden Befehle aus, um ein Verzeichnis für das Projekt zu erstellen. Wechseln Sie dann in dieses Verzeichnis.

    mkdir my-app cd my-app
  5. Führen Sie den folgenden Befehl aus, um Gradle ein neues Java-Anwendungsprojekt im Verzeichnis my-app der Umgebung generieren zu lassen.

    gradle init --type java-application

    Der vorstehende Befehl erstellt die folgende Verzeichnisstruktur für das Projekt in der Umgebung.

    my-app |- .gradle | `- (various supporting project folders and files) |- gradle | `- (various supporting project folders and files) |- src | |- main | | `- java | | `- App.java | `- test | `- java | `- AppTest.java |- build.gradle |- gradlew |- gradlew.bat `- settings.gradle
  6. Ändern Sie die Datei AppTest.java für das Projekt. (Wenn Sie dies nicht tun, wird das Projekt möglicherweise nicht wie erwartet erstellt oder ausgeführt). Öffnen Sie zu diesem Zweck im Fenster Environment (Umgebung) die Datei my-app/src/test/java/AppTest.java. Ersetzen Sie im Editor den aktuellen Inhalt der Datei durch den folgenden Code und speichern Sie dann die Datei AppTest.java.

    import org.junit.Test; import static org.junit.Assert.*; public class AppTest { @Test public void testAppExists () { try { Class.forName("com.mycompany.app.App"); } catch (ClassNotFoundException e) { fail("Should have a class named App."); } } }
  7. Ändern Sie die Datei build.gradle für das Projekt. (Eine build.gradle-Datei definiert die Einstellungen eines Gradle-Projekts.) Öffnen Sie zu diesem Zweck im Fenster Environment (Umgebung) die Datei my-app/build.gradle. Ersetzen Sie im Editor den aktuellen Inhalt der Datei durch den folgenden Code und speichern Sie dann die Datei build.gradle.

    apply plugin: 'java' apply plugin: 'application' repositories { jcenter() mavenCentral() } buildscript { repositories { mavenCentral() } dependencies { classpath "io.spring.gradle:dependency-management-plugin:1.0.3.RELEASE" } } apply plugin: "io.spring.dependency-management" dependencyManagement { imports { mavenBom 'com.amazonaws:aws-java-sdk-bom:1.11.330' } } dependencies { compile 'com.amazonaws:aws-java-sdk-s3' testCompile group: 'junit', name: 'junit', version: '4.12' } run { if (project.hasProperty("appArgs")) { args Eval.me(appArgs) } } mainClassName = 'App'

    Die vorstehende build.gradle-Datei enthält Projekteinstellungen mit Deklarationen wie den folgenden:

    • Das io.spring.dependency-management Plugin wird verwendet, um die AWS SDK for Java Maven Bill of Materials (BOM) zu importieren, um AWS SDK for Java Abhängigkeiten für das Projekt zu verwalten. classpathdeklariert die zu verwendende Version. Wenn Sie eine andere Version verwenden, ersetzen Sie diese Versionsnummer.

    • com.amazonaws:aws-java-sdk-s3 enthält den Amazon S3-Teil der AWS SDK for Java -Bibliotheksdateien. mavenBom deklariert die Version, die verwendet werden soll. Wenn Sie eine andere Version verwenden möchten, ersetzen Sie diese Versionsnummer.

Schritt 5: Richten Sie die Verwaltung von AWS Anmeldeinformationen in Ihrer Umgebung ein

Jedes Mal, wenn Sie den verwenden, AWS SDK for Java um einen AWS Dienst aufzurufen, müssen Sie beim Anruf eine Reihe von AWS Anmeldeinformationen angeben. Diese Anmeldeinformationen bestimmen, ob der AWS SDK for Java über die entsprechenden Berechtigungen verfügt, um diesen Anruf zu tätigen. Wenn die Anmeldeinformationen nicht die entsprechenden Berechtigungen haben, schlägt der Aufruf fehl.

In diesem Schritt speichern Sie Ihre Anmeldeinformationen innerhalb der Umgebung. Befolgen Sie stattdessen die Anweisungen unter AWS-Services Aus einer Umgebung anrufen in AWS Cloud9 und kehren Sie dann zu diesem Thema zurück.

Weitere Informationen finden Sie unter Einrichten der AWS -Anmeldeinformationen und ‑Region für die Entwicklung im AWS SDK for Java -Entwicklerhandbuch.

Schritt 6: AWS SDK Code hinzufügen

In diesem Schritt fügen Sie Code für die Interaktion mit Amazon S3 hinzu, um einen Bucket zu erstellen, die verfügbaren Buckets aufzulisten und dann den soeben erstellten Bucket zu löschen.

Öffnen Sie im Fenster Environment (Umgebung) die Datei my-app/src/main/java/com/mycompany/app/App.java für Maven oder die Datei my-app/src/main/java/App.java für Gradle. Ersetzen Sie im Editor den aktuellen Inhalt der Datei durch den folgenden Code und speichern Sie dann die Datei App.java.

package com.mycompany.app; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder; import com.amazonaws.services.s3.model.AmazonS3Exception; import com.amazonaws.services.s3.model.Bucket; import com.amazonaws.services.s3.model.CreateBucketRequest; import java.util.List; public class App { private static AmazonS3 s3; public static void main(String[] args) { if (args.length < 2) { System.out.format("Usage: <the bucket name> <the AWS Region to use>\n" + "Example: my-test-bucket us-east-2\n"); return; } String bucket_name = args[0]; String region = args[1]; s3 = AmazonS3ClientBuilder.standard() .withCredentials(new ProfileCredentialsProvider()) .withRegion(region) .build(); // List current buckets. ListMyBuckets(); // Create the bucket. if (s3.doesBucketExistV2(bucket_name)) { System.out.format("\nCannot create the bucket. \n" + "A bucket named '%s' already exists.", bucket_name); return; } else { try { System.out.format("\nCreating a new bucket named '%s'...\n\n", bucket_name); s3.createBucket(new CreateBucketRequest(bucket_name, region)); } catch (AmazonS3Exception e) { System.err.println(e.getErrorMessage()); } } // Confirm that the bucket was created. ListMyBuckets(); // Delete the bucket. try { System.out.format("\nDeleting the bucket named '%s'...\n\n", bucket_name); s3.deleteBucket(bucket_name); } catch (AmazonS3Exception e) { System.err.println(e.getErrorMessage()); } // Confirm that the bucket was deleted. ListMyBuckets(); } private static void ListMyBuckets() { List<Bucket> buckets = s3.listBuckets(); System.out.println("My buckets now are:"); for (Bucket b : buckets) { System.out.println(b.getName()); } } }

Schritt 7: Den AWS SDK Code erstellen und ausführen

Führen Sie zum Ausführen des Codes aus dem vorherigen Schritt die folgenden Befehle mit dem Terminal aus. Diese Befehle verwenden Maven oder Gradle, um eine ausführbare JAR Datei für das Projekt zu erstellen, und verwenden dann den Java-Runner, um das auszuführen. JAR Der JAR läuft mit dem Namen des Buckets, der in Amazon S3 erstellt werden soll (z. B.my-test-bucket) und der ID der AWS Region, in der der Bucket erstellt werden soll, als Eingabe (z. B.us-east-2).

Führen Sie für Maven die folgenden Befehle aus.

cd my-app mvn package java -cp target/my-app-1.0-SNAPSHOT-jar-with-dependencies.jar com.mycompany.app.App my-test-bucket us-east-2

Führen Sie für Gradle die folgenden Befehle aus.

gradle build gradle run -PappArgs="['my-test-bucket', 'us-east-2']"

Vergleichen Sie die Ergebnisse mit der folgenden Ausgabe.

My buckets now are: Creating a new bucket named 'my-test-bucket'... My buckets now are: my-test-bucket Deleting the bucket named 'my-test-bucket'... My buckets now are:

Schritt 8: Bereinigen

Um zu verhindern, dass Ihr AWS Konto weiterhin belastet wird, nachdem Sie dieses Beispiel nicht mehr verwendet haben, sollten Sie die Umgebung löschen. Detaillierte Anweisungen finden Sie unter Löschen einer Umgebung in AWS Cloud9.