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
Themen
- Voraussetzungen
- Schritt 1: Installieren der erforderlichen Tools
- Schritt 2: Code hinzufügen
- Schritt 3: Erstellen und Ausführen des Codes
- Schritt 4: Richten Sie die Verwendung von ein AWS SDK for Java
- Schritt 5: Richten Sie die Verwaltung von AWS Anmeldeinformationen in Ihrer Umgebung ein
- Schritt 6: AWS SDK Code hinzufügen
- Schritt 7: Den AWS SDK Code erstellen und ausführen
- Schritt 8: Bereinigen
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.
-
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
-version
Option 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 SE
J2SE
, 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
undOpenJDK
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
unter1.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.
-
-
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
-
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
install
Befehl 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. -
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ält
java-1.8
). -
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 beginnt
openjdk 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
-
Verwenden Sie die Befehlszeilenversion des Java-Compilers, um die Datei
hello.java
in einehello.class
-Datei zu kompilieren. Führen Sie dazu mithilfe des Terminals im selben Verzeichnis wie diehello.java
Datei den Java-Compiler aus und geben Sie diehello.java
Datei an. AWS Cloud9 IDEjavac hello.java
-
Verwenden Sie die Befehlszeilenversion des Java-Runners, um die Datei
hello.class
auszuführen. Führen Sie zu diesem Zweck im Verzeichnis mit der Dateihello.class
den Java-Runner aus. Geben Sie dabei den Namen der Klassehello
, die in der Dateihello.java
deklariert wurde, mit zwei ergänzenden Ganzzahlen (z. B.5
und9
) an.java hello 5 9
-
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
Einrichten mit Maven
-
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
-version
Option 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.
-
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
-
Prüfen Sie die Installation, indem Sie Maven mit der Option
-version
ausführen.mvn -version
-
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. -
Ä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 Dateipom.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
vonmy-app
legt den Namen des Projekt-Stammverzeichnisses und die Einstellunggroup-id
incom.mycompany.app
diecom/mycompany/app
-Unterverzeichnisstruktur sowie diepackage
-Deklaration in den DateienApp.Java
undAppTest.java
fest. -
Die
artifactId
Einstellung vonmy-app
, mit derpackaging
Einstellung vonjar
, dieversion
Einstellung von1.0-SNAPSHOT
und diedescriptorRef
Einstellung vonjar-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 dergroupId
Einstellung voncom.amazon.aws
und derartifactId
Einstellung vonaws-java-sdk
beinhaltet die AWS SDK for Java Bibliotheksdateien. Die zu verwendende AWS SDK for Java -Version wird mit der Einstellungversion
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
-
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
-version
Option 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.
-
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. -
Prüfen Sie die Installation, indem Sie Gradle mit der Option
-version
ausführen.gradle -version
-
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
-
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
-
Ä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 Dateimy-app/src/test/java/AppTest.java
. Ersetzen Sie im Editor den aktuellen Inhalt der Datei durch den folgenden Code und speichern Sie dann die DateiAppTest.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."); } } }
-
Ändern Sie die Datei
build.gradle
für das Projekt. (Einebuild.gradle
-Datei definiert die Einstellungen eines Gradle-Projekts.) Öffnen Sie zu diesem Zweck im Fenster Environment (Umgebung) die Dateimy-app/build.gradle
. Ersetzen Sie im Editor den aktuellen Inhalt der Datei durch den folgenden Code und speichern Sie dann die Dateibuild.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.classpath
deklariert 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.