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.
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 EC2 Amazon-Preise
Themen
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 bereits einen Satz von Java-Entwicklungstools wie Oracle JDK oder OpenJDK in der Umgebung installiert haben, können Sie zu Schritt 2: Code hinzufügen springen. Dieses Beispiel wurde mit OpenJDK 8 entwickelt. Sie können es mit folgendem Verfahren in der Umgebung installieren.
-
Prüfen Sie, ob OpenJDK 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 die Ausgabe besagt, dass der Befehl
java
nicht gefunden wurde, fahren Sie zum Installieren von OpenJDK 8 mit Schritt 2 in diesem Verfahren fort. -
Wenn die Ausgabe Werte enthält, die mit
Java(TM)
,Java Runtime Environment
,Java SE
,J2SE
oderJava2
beginnen, ist OpenJDK nicht installiert oder nicht als Standard-Toolset für die Java-Entwicklung festgelegt. Fahren Sie mit Schritt 2 in diesem Verfahren fort, um OpenJDK 8 zu installieren. Wechseln Sie dann zur Verwendung von OpenJDK 8. -
Wenn die Ausgabe Werte enthält, die mit
java version 1.8
undOpenJDK
beginnen, fahren Sie mit Schritt 2: Code hinzufügen fort. OpenJDK 8 ist für dieses Beispiel richtig installiert. -
Wenn die Ausgabe eine
java version
vor1.8
und Werte enthält, die mitOpenJDK
beginnen, fahren Sie mit Schritt 2 in diesem Verfahren fort, um die installierte Version von OpenJDK auf OpenJDK 8 upzugraden.
-
-
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 OpenJDK 8. Führen Sie dazu das yum-Tool (für Amazon Linux) oder das apt-Tool (für Ubuntu Server) mit dem Befehl
install
unter Angabe des OpenJDK 8-Pakets aus.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 How to download and install prebuilt OpenJDK packages
auf der OpenJDK-Website. -
Wechseln Sie zum Standard-Toolset OpenJDK 8 für die Java-Entwicklung oder nehmen Sie ein entsprechendes Upgrade vor. 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 Auswahlziffer für OpenJDK 8 an (das Paket mit
java-1.8
). -
Vergewissern Sie sich, dass die Befehlszeilenversionen von Java-Runner und -Compiler OpenJDK 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 OpenJDK 8 installiert und richtig eingerichtet ist, enthält die Java-Runner-Versionsausgabe einen mit
openjdk version 1.8
beginnenden Wert, während die Java-Compiler-Versionsausgabe mit dem Wertjavac 1.8
beginnt.
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 in der AWS Cloud9 IDE aus demselben Verzeichnis wie diehello.java
Datei den Java-Compiler aus und geben Sie diehello.java
Datei an.javac 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 für Java
Sie können dieses Beispiel erweitern, um mit dem einen Amazon S3 S3-Bucket AWS SDK für 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 vorstehenden Befehlen finden Sie unter Extra Packages for Enterprise Linux (EPEL)
im Wiki des Fedora-Projekts. 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 Project Object Model (POM)-Datei 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 vorstehende POM-Datei enthält Projekteinstellungen mit Deklarationen wie den folgenden:
-
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
legt mit derpackaging
-Einstellung vonjar
, derversion
-Einstellung von1.0-SNAPSHOT
und derdescriptorRef
-Einstellung vonjar-with-dependencies
den Namenmy-app-1.0-SNAPSHOT-jar-with-dependencies.jar
für die JAR-Ausgabedatei fest. -
Der Abschnitt
plugin
deklariert das Erstellen eines JAR mit allen Abhängigkeiten. -
Der
dependency
Abschnitt mit dergroupId
Einstellung voncom.amazon.aws
und derartifactId
Einstellung vonaws-java-sdk
enthält die AWS SDK für Java Bibliotheksdateien. Die zu verwendende AWS SDK für 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 führen das SDKMAN! Tool aus. Dann verwenden Sie SDKMAN!, 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 obigen Befehlen finden Sie unter Installation
auf der SDKMAN!-Website, und unter Install with a package manager 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 für Java Maven Bill of Materials (BOM) zu importieren, um AWS SDK für 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 für 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 für Java um einen AWS Dienst aufzurufen, müssen Sie beim Anruf eine Reihe von AWS Anmeldeinformationen angeben. Diese Anmeldeinformationen bestimmen, ob der AWS SDK für Java über die entsprechenden Berechtigungen für den Anruf verfügt. 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 Rufen Sie AWS-Services aus einer Umgebung 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 für 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: Erstellen Sie den AWS SDK-Code und führen Sie ihn aus
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 zum Erstellen einer ausführbaren JAR-Datei für das Projekt und den Java-Runner zum Ausführen der JAR-Datei. Das JAR wird mit dem Namen des Buckets ausgeführt, 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.