Tutorial Java per AWS Cloud9 - AWS Cloud9

AWS Cloud9 non è più disponibile per i nuovi clienti. I clienti esistenti di AWS Cloud9 possono continuare a utilizzare il servizio normalmente. Ulteriori informazioni

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Tutorial Java per AWS Cloud9

Importante

Se utilizzi un ambiente di AWS Cloud9 sviluppo supportato da un'EC2istanza con 2 GiB o più di memoria, ti consigliamo di attivare il supporto Java avanzato. Ciò consente di accedere a caratteristiche di produttività come il completamento del codice, l'analisi del codice con segnalazione degli errori, le operazioni specifiche per il contesto e le opzioni di debug, come i punti di interruzione e le suddivisioni in fasi.

Per ulteriori informazioni, consulta Supporto avanzato per lo sviluppo Java.

Questo tutorial consente di eseguire del codice Java in un ambiente di AWS Cloud9 sviluppo.

L'esecuzione di questo tutorial e la creazione di questo esempio potrebbero comportare addebiti sul tuo AWS account. Questi includono eventuali addebiti per servizi come Amazon EC2 e Amazon S3. Per ulteriori informazioni, consulta i prezzi di Amazon e EC2 i prezzi di Amazon S3.

Prerequisiti

Prima di usare questo esempio, assicurati che la configurazione soddisfi i seguenti requisiti:

  • È necessario disporre di un ambiente di AWS Cloud9 EC2 sviluppo esistente. Questo esempio presuppone che tu disponga già di un EC2 ambiente connesso a un'EC2istanza Amazon che esegue Amazon Linux o Ubuntu Server. Se disponi di un altro tipo di ambiente o sistema operativo, potrebbe essere necessario adattare le istruzioni di questo esempio per configurare gli strumenti correlati. Per ulteriori informazioni, consulta Creare un ambiente in AWS Cloud9.

  • Il file AWS Cloud9 IDE per l'ambiente esistente è già aperto. Quando apri un ambiente, AWS Cloud9 apre il IDE relativo ambiente nel tuo browser web. Per ulteriori informazioni, consulta Apertura di un ambiente in AWS Cloud9.

Fase 1: installare gli strumenti necessari

In questa fase, installate un set di strumenti di sviluppo Java nel vostro ambiente di AWS Cloud9 sviluppo. Se nel tuo ambiente è già JDK installato un set di strumenti di sviluppo Java come Oracle JDK o Open, puoi passare aFase 2: aggiungere un codice. Questo esempio è stato sviluppato con Open JDK 8, che puoi installare nel tuo ambiente completando la procedura seguente.

  1. Verificate se Open JDK 8 è già installato. A tale scopo, in una sessione di terminale in AWS Cloud9 IDE, esegui la versione a riga di comando di Java runner con l'-versionopzione. Per avviare una nuova sessione del terminale, dalla barra dei menu scegli Window (Finestra), New Terminal (Nuovo terminale).

    java -version

    Dipendentemente dall'output del comando precedente, effettua una delle opzioni seguenti:

    • Se l'output indica che il java comando non è stato trovato, continuate con il passaggio 2 di questa procedura per installare Open JDK 8.

    • Se l'output contiene valori che iniziano conJava(TM),Java Runtime Environment, Java SEJ2SE, oJava2, Open non è installato o JDK non è impostato come set di strumenti di sviluppo Java predefinito. Continuate con il passaggio 2 di questa procedura per installare Open JDK 8, quindi passate all'utilizzo di Open JDK 8.

    • Se l'output contiene valori che iniziano con java version 1.8 e OpenJDK, passa a Fase 2: aggiungere un codice. Open JDK 8 è installato correttamente per questo esempio.

    • Se l'output contiene un valore java version inferiore a 1.8 e che iniziano conOpenJDK, continua con il passaggio 2 di questa procedura per aggiornare la JDK versione Open installata a Open JDK 8.

  2. Assicurati che siano installati gli aggiornamenti di sicurezza e le correzioni dei bug i più recenti. Per effettuare questa operazione, esegui lo strumento yum (per Amazon Linux) o apt (per Ubuntu Server) con il comando update .

    Per Amazon Linux:

    sudo yum -y update

    Per Ubuntu Server:

    sudo apt update
  3. Installa Open JDK 8. Per fare ciò, esegui lo strumento yum (per Amazon Linux) o lo strumento apt (per Ubuntu Server) con il installcomando, specificando il pacchetto Open JDK 8.

    Per Amazon Linux:

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

    Per Ubuntu Server:

    sudo apt install -y openjdk-8-jdk

    Per ulteriori informazioni, consulta Come scaricare e installare JDK pacchetti Open predefiniti sul sito Web Open. JDK

  4. Passa o aggiorna il set di strumenti di sviluppo Java predefinito a Open JDK 8. A tale scopo, eseguire il comando update-alternatives con l'opzione --config . Esegui il comando due volte per passare o aggiornare le versioni della riga di comando del runner e compilatore Java.

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

    A ogni prompt, digitate il numero di selezione per Open JDK 8 (quello che contienejava-1.8).

  5. Verificate che le versioni a riga di comando del runner e del compilatore Java utilizzino Open 8. JDK Per effettuare questa operazione, esegui le versioni della riga di comando del runner e compilatore Java con l'opzione -version.

    java -version javac -version

    Se Open JDK 8 è installato e impostato correttamente, l'output della versione di Java Runner contiene un valore che inizia con openjdk version 1.8 e l'output della versione del compilatore Java inizia con il valore. javac 1.8

Fase 2: aggiungere un codice

In AWS Cloud9 IDE, create un file con il codice seguente e salvate il file con il nome. hello.java (Per creare un file, nella barra dei menu scegli File, New File (Nuovo file). Per salvare il file, scegli File,Save (Salva)).

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)); } }

Fase 3: costruire ed eseguire il codice

  1. Utilizza la versione della riga di comando del compilatore Java per compilare il file hello.java in un file hello.class. Per fare ciò, utilizzando il terminale contenuto in AWS Cloud9 IDE, dalla stessa directory del hello.java file, esegui il compilatore Java, specificando il hello.java file.

    javac hello.java
  2. Utilizza la versione della riga di comando del runner Java per eseguire il file hello.class. Per effettuare questa operazione, dalla stessa directory del file hello.class, esegui il runner Java, specificando il nome della classe hello che è stata dichiarata nel file hello.java, con due numeri interi da aggiungere (ad esempio, 5 e 9).

    java hello 5 9
  3. Confronta i risultati.

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

Fase 4: Configurazione per l'utilizzo di AWS SDK for Java

Puoi migliorare questo esempio per utilizzare il bucket Amazon S3, AWS SDK for Java elencare i bucket disponibili e quindi eliminare il bucket appena creato.

In questa fase si installa Apache Maven o Gradle nell'ambiente. Maven e Gradle sono sistemi di automazione di compilazione comuni che possono essere usati con progetti Java. Dopo aver installato Maven o Gradle, è possibile usarlo per generare un nuovo progetto Java. In questo nuovo progetto, aggiungi un riferimento ad AWS SDK for Java. Ciò AWS SDK for Java fornisce un modo conveniente per interagire con AWS servizi come Amazon S3, dal tuo codice Java.

Configurazione con Maven

  1. Installa Maven nell'ambiente. Per vedere se Maven è già installato, utilizza il terminale in AWS Cloud9 IDE, esegui Maven con l'opzione. -version

    mvn -version

    In caso di esito positivo, l'output includerà il numero di versione di Maven. Se Maven è già installato, passa alla fase 4 in questa procedura per utilizzare Maven per generare un nuovo progetto Java nell'ambiente.

  2. Installa Maven utilizzando il terminale per eseguire i seguenti comandi.

    Per Amazon Linux, i seguenti comandi ottengono informazioni sul repository di pacchetti in cui è archiviato Maven, quindi utilizzano queste informazioni per installare Maven.

    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

    Per ulteriori informazioni sui comandi precedenti, vedere Extra Packages for Enterprise Linux (EPEL) sul sito Wiki del Fedora Project.

    Per Ubuntu Server, esegui invece il comando seguente.

    sudo apt install -y maven
  3. Conferma l'installazione eseguendo Maven con l'opzione -version .

    mvn -version
  4. Utilizza Maven per generare un nuovo progetto Java. Per effettuare questa operazione, utilizza il terminale per eseguire il comando seguente dalla directory in cui Maven deve generare il progetto (ad esempio, la directory principale dell'ambiente).

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

    Il comando precedente crea la seguente struttura di directory per il progetto nell'ambiente.

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

    Per ulteriori informazioni sulla struttura di directory precedente, consulta Maven Quickstart Archetype e Introduction to the Standard Directory Layout sul sito Web Apache Maven Project.

  5. Modifica il file Project Object Model (POM) per il progetto. (Un POM file definisce le impostazioni di un progetto Maven.) Per effettuare questa operazione, dalla finestra Environment (Ambiente) apri il file my-app/pom.xml. Nell'editor sostituisci i contenuti del file con il seguente codice e salva il file 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>

    Il POM file precedente include le impostazioni del progetto che specificano dichiarazioni come le seguenti:

    • L'impostazione artifactid di my-app imposta il nome della directory principale del progetto, mentre l'impostazione group-id di com.mycompany.app imposta la struttura di sottodirectory com/mycompany/app e la dichiarazione package nei file App.Java e AppTest.java.

    • L'artifactIdimpostazione dimy-app, con l'packagingimpostazione dijar, l'versionimpostazione di 1.0-SNAPSHOT e l'descriptorRefimpostazione di jar-with-dependencies impostare il nome del JAR file di output di. my-app-1.0-SNAPSHOT-jar-with-dependencies.jar

    • La plugin sezione dichiara che ne verrà creata una singolaJAR, che include tutte le dipendenze.

    • La dependency sezione con l'groupIdimpostazione com.amazon.aws e l'artifactIdimpostazione di aws-java-sdk include i file della AWS SDK for Java libreria. La versione dell' AWS SDK for Java da utilizzare è indicata nell'impostazione version. Per usare una versione diversa, sostituire questo numero di versione.

Passare direttamente a Fase 5: Configurare la gestione AWS delle credenziali nel proprio ambiente.

Configurazione con Gradle

  1. Installa Gradle nell'ambiente. Per vedere se Gradle è già installato, usando il terminale in AWS Cloud9 IDE, esegui Gradle con l'-versionopzione.

    gradle -version

    In caso di esito positivo, l'output includerà il numero di versione di Gradle. Se Gradle è già installato, passa alla fase 4 in questa procedura per utilizzare Gradle per generare un nuovo progetto Java nell'ambiente.

  2. Installa Gradle utilizzando il terminale per eseguire i seguenti comandi. Questi comandi installano ed eseguono il file! SDKMAN strumento, e poi usaSDKMAN! per installare l'ultima versione di Gradle.

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

    Per ulteriori informazioni sui comandi precedenti, consulta Installazione su! SDKMAN sito Web e Installa con un gestore di pacchetti sul sito Web Gradle.

  3. Conferma l'installazione eseguendo Gradle con l'opzione -version .

    gradle -version
  4. Usa Gradle per generare un nuovo progetto Java nell'ambiente. Per effettuare questa operazione, usa il terminale per eseguire i seguenti comandi per creare una directory per il progetto, quindi passa a quella directory.

    mkdir my-app cd my-app
  5. Esegui il comando seguente per fare in modo che Gradle generi un nuovo progetto di applicazione Java nella directory my-app dell'ambiente.

    gradle init --type java-application

    Il comando precedente crea la seguente struttura di directory per il progetto nell'ambiente.

    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. Modifica AppTest.java per il progetto. Se non si effettua questa operazione, il progetto potrebbe non essere creato o eseguito come previsto. Per effettuare questa operazione, dalla finestra Environment (Ambiente) apri il file my-app/src/test/java/AppTest.java. Nell'editor sostituisci i contenuti del file con il seguente codice e salva il file 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. Modifica il file build.gradle per il progetto. Un file build.gradle definisce le impostazioni di un progetto Gradle. Per effettuare questa operazione, dalla finestra Environment (Ambiente) apri il file my-app/build.gradle. Nell'editor sostituisci i contenuti del file con il seguente codice e salva il file 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'

    Il file build.gradle precedente include le impostazioni di progetto che specificano dichiarazioni come le seguenti:

    • Il io.spring.dependency-management plugin viene utilizzato per importare la AWS SDK for Java Maven Bill of Materials (BOM) per gestire AWS SDK for Java le dipendenze del progetto. classpathdichiara la versione da usare. Per usare una versione diversa, sostituire questo numero di versione.

    • com.amazonaws:aws-java-sdk-s3 include la porzione di Amazon S3 dei file libreria dell' AWS SDK for Java . mavenBom indica la versione da utilizzare. Per usare una versione diversa, sostituire questo numero di versione.

Fase 5: Configurare la gestione AWS delle credenziali nel proprio ambiente

Ogni volta che si utilizza il AWS SDK for Java per chiamare un AWS servizio, è necessario fornire un set di AWS credenziali con la chiamata. Queste credenziali determinano se AWS SDK for Java dispone delle autorizzazioni appropriate per effettuare quella chiamata. Se le credenziali non coprono le autorizzazioni appropriate, la chiamata fallirà.

In questa fase si archiviano le credenziali all'interno dell'ambiente A questo proposito, segui le istruzioni riportate in Chiamata Servizi AWS da un ambiente in AWS Cloud9, quindi torna a questo argomento.

Per ulteriori informazioni, consulta Configurazione delle credenziali e della regione AWS per lo sviluppo nella Guida per gli sviluppatori di AWS SDK for Java .

Fase 6: Aggiungere codice AWS SDK

In questa fase si aggiungi codice per interagire con Amazon S3 e creare un bucket, elencare i bucket disponibili ed eliminare il bucket appena creato.

Dalla finestra Environment (Ambiente) aprire il file my-app/src/main/java/com/mycompany/app/App.java per Maven o il file my-app/src/main/java/App.java per Gradle. Nell'editor sostituisci i contenuti del file con il seguente codice e salva il file 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()); } } }

Passaggio 7: Compila ed esegui il AWS SDK codice

Per eseguire il codice della fase precedente, esegui i seguenti comandi dal terminale. Questi comandi utilizzano Maven o Gradle per creare un JAR file eseguibile per il progetto, quindi utilizzano Java runner per eseguire. JAR Le JAR esecuzioni con il nome del bucket da creare in Amazon S3 (ad esempiomy-test-bucket) e l'ID della regione in cui creare AWS il bucket come input (ad esempio,). us-east-2

Per Maven, esegui i comandi riportati di seguito.

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

Per Gradle, esegui i comandi riportati di seguito.

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

Confronta i tuoi risultati con il seguente output.

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:

Fase 8: Pulizia

Per evitare addebiti continui sul tuo AWS account dopo aver utilizzato questo esempio, devi eliminare l'ambiente. Per istruzioni, consultare Eliminazione di un ambiente in AWS Cloud9.