選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

的 Java 教學課程 AWS Cloud9

焦點模式
的 Java 教學課程 AWS Cloud9 - AWS Cloud9

AWS Cloud9 不再提供給新客戶。的現有客戶 AWS Cloud9 可以繼續正常使用服務。進一步了解

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWS Cloud9 不再提供給新客戶。的現有客戶 AWS Cloud9 可以繼續正常使用服務。進一步了解

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

重要

如果您使用的 AWS Cloud9 開發環境由具有 2 GiB 或更多記憶體的 EC2 執行個體支援,建議您啟用增強型 Java 支援。這可以提供各種生產力功能的存取權,例如程式碼完成、錯誤檢查、內容特定動作以及除錯選項 (如中斷點和逐步執行)。

如需詳細資訊,請參閱增強對 Java 開發的支援

本教學課程可讓您在 AWS Cloud9 開發環境中執行一些 Java 程式碼。

遵循本教學課程並建立此範例可能會導致您的帳戶 AWS 產生費用。其中包括 Amazon EC2 和 Amazon S3 這類服務可能的費用。如需詳細資訊,請參閱 Amazon EC2 定價Amazon S3 定價

先決條件

在您使用此範例前,請務必確認您的設定符合下列要求:

  • 您必須擁有現有的 AWS Cloud9 EC2 開發環境。本範例假設您已具備 EC2 環境,且該環境已連線到執行 Amazon Linux 或 Ubuntu Server 的 Amazon EC2 執行個體。如果您有不同類型的環境或作業系統,您可能需要依照此範例的說明來設定相關工具。如需詳細資訊,請參閱在 中建立環境 AWS Cloud9

  • 您已開啟現有環境的 AWS Cloud9 IDE。當您開啟環境時,請在 Web 瀏覽器中 AWS Cloud9 開啟該環境的 IDE。如需詳細資訊,請參閱在 中開啟環境 AWS Cloud9

步驟 1:安裝必要工具

在此步驟中,您會在開發環境中安裝一組 Java AWS Cloud9 開發工具。如果您已在環境中安裝一組 Java 開發工具,例如 Oracle JDK 或 OpenJDK,您可以直接跳到 步驟 2:新增程式碼。此範例以 OpenJDK 8 開發,完成下列程序後您就可將此範例安裝在您的環境中。

  1. 確認是否已安裝 OpenJDK 8。若要這樣做,請在 IDE AWS Cloud9 的終端機工作階段中,使用 -version選項執行 Java 執行器的命令列版本。(若要啟動新終端機工作階段,請在選單列上,選擇 Window (視窗)、New Terminal (新增終端機)。

    java -version

    依據上述命令的輸出,執行以下操作之一:

    • 如果找不到 java 命令的輸出狀態,請繼續此程序中的步驟 2 以安裝 OpenJDK 8。

    • 如果輸出包含以 Java(TM)Java Runtime EnvironmentJava SEJ2SEJava2 起始的值,表示沒有安裝 OpenJDK 或未設定為預設的 Java 開發工具組。繼續此程序中的步驟 2 以安裝 OpenJDK 8,然後切換為使用 OpenJDK 8。

    • 如果輸出包含以 java version 1.8OpenJDK 開頭的值,請直接跳到 步驟 2:新增程式碼。已為此範例正確安裝 OpenJDK 8。

    • 如果輸出包含小於 java version1.8 以及以 OpenJDK 起始的值,請繼續使用此程序中的安裝步驟 2,將已安裝的 OpenJDK 版本升級到 OpenJDK 8。

  2. 確定已安裝最新的安全性更新和錯誤修正。若要這樣做,請以 update 命令執行 yum 工具 (適用於 Amazon Linux) 或 apt 工具 (適用於 Ubuntu Server)。

    針對 Amazon Linux:

    sudo yum -y update

    針對 Ubuntu Server:

    sudo apt update
  3. 安裝 OpenJDK 8。若要這樣做,請以 install 命令執行 yum 工具 (適用於 Amazon Linux) 或 apt 工具 (適用於 Ubuntu Server),並指定 OpenJDK 8 套件。

    針對 Amazon Linux:

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

    針對 Ubuntu Server:

    sudo apt install -y openjdk-8-jdk

    如需詳細資訊,請參閱 OpenJDK 網站上的如何下載和安裝預先建置的 OpenJDK 套件

  4. 將預設的 Java 開發工具組切換或升級為 OpenJDK 8。若要這樣做,請執行 update-alternatives 命令與 --config 選項。執行此命令兩次,以切換或升級 Java runner 和編譯器的命令列版本。

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

    在每個提示中,輸入 OpenJDK 8 的選擇號碼 (包含 java-1.8)。

  5. 確認 Java runner 和編譯器命令列版本使用的是 OpenJDK 8。若要執行此操作,執行 Java runner 和編譯器的命令列版本並使用 -version 選項。

    java -version javac -version

    如果 OpenJDK 8 已安裝並正確設定,Java runner 版本輸出將包含以 openjdk version 1.8 起始的值,而且 Java 編譯器版本輸出以 javac 1.8 起始的值。

步驟 2:新增程式碼

在 AWS Cloud9 IDE 中,使用下列程式碼建立檔案,並使用名稱 儲存檔案hello.java。(若要建立檔案,請在選單列上選擇 File (檔案)、New File (新增檔案)。若要儲存檔案,請選擇 File (檔案)、Save (儲存)。)

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

步驟 3:建置並執行程式碼

  1. 使用 Java 編譯器的命令列版本,將 hello.java 檔案編譯為 hello.class 檔案。若要這樣做,請在 IDE AWS Cloud9 中使用終端機,從與 hello.java 檔案相同的目錄執行 Java 編譯器,指定 hello.java 檔案。

    javac hello.java
  2. 使用 Java runner 的命令列版本執行 hello.class 檔案。若要這樣做,從與 hello.class 檔案相同的目錄執行 Java runner,並指定在 hello 檔案中宣告的 hello.java 類別的名稱,新增兩個整數 (例如,59)。

    java hello 5 9
  3. 比較您的輸出。

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

步驟 4:設定 以使用 AWS SDK for Java

您可以增強此範例,以使用 AWS SDK for Java 建立 Amazon S3 儲存貯體、列出可用的儲存貯體,然後刪除您剛建立的儲存貯體。

在此步驟中,您會在環境中安裝 Apache MavenGradle。Maven 和 Gradle 是通用建置自動化系統,可搭配使用 Java 專案。在安裝 Maven 或 Gradle 之後,您可以使用它來產生新的 Java 專案。在這個新專案中,您會新增 AWS SDK for Java的參考。這 AWS SDK for Java 可讓您透過 Java 程式碼與 Amazon S3 等 AWS 服務互動。

使用 Maven 設定

  1. 在您的環境中安裝 Maven。若要查看是否已安裝 Maven,請使用 IDE AWS Cloud9 中的終端機,使用 -version選項執行 Maven。

    mvn -version

    如果成功,輸出會包含 Maven 版本編號。如果已安裝 Maven,請直接跳到此程序中的步驟 4,使用 Maven 在環境中產生新的 Java 專案。

  2. 使用終端機執行以下命令以安裝 Maven。

    如為 Amazon Linux,您可以使用下列命令獲得存放 Maven 的套件儲存庫相關資訊,然後使用此資訊安裝 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

    如需有關上述命令的詳細資訊,請參閱 Fedora Project Wiki 網站上的 Extra Packages for Enterprise Linux (EPEL)

    對於 Ubuntu Server,改為執行下列命令。

    sudo apt install -y maven
  3. 執行 Maven 並使用 -version 選項以確認安裝。

    mvn -version
  4. 使用 Maven 產生新的 Java 專案。若要這樣做,請使用終端機從您希望 Maven 產生專案的目錄執行下列命令 (例如環境的根目錄)。

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

    上述命令會在環境中建立以下專案目錄結構。

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

    如需有關上述目錄結構的詳細資訊,請參閱 Apache Maven Project 網站上的 Maven 快速入門 Archetype 認識標準目錄配置

  5. 修改專案的專案物件模型 (POM) 檔案。(POM 檔案定義 Maven 專案的設定。) 若要執行此操作,請從 Environment (環境) 視窗開啟 my-app/pom.xml 檔案。在編輯器中,使用以下程式碼取代該檔案的目前內容,然後儲存 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>

    上述 POM 檔案包含指定宣告的專案設定,例如:

    • artifactidmy-app 設定項目可設定專案的根目錄名稱,group-idcom.mycompany.app 設定項目可設定 com/mycompany/app 子目錄結構以及 packageApp.Java 檔案中的 AppTest.java 宣告。

    • artifactIdmy-app 設定項目與 packagingjar 設定項目、version1.0-SNAPSHOT 設定項目,以及 descriptorRefjar-with-dependencies 設定項目,可設定 my-app-1.0-SNAPSHOT-jar-with-dependencies.jar 的輸出 JAR 檔案名稱。

    • plugin 區段宣告將建置單一 JAR,其中包含所有相依性。

    • groupId 設定 com.amazon.awsartifactId設定 的 dependency區段aws-java-sdk包含 AWS SDK for Java 程式庫檔案。要使用的 AWS SDK for Java 版本是以 version 設定宣告。若要使用不同的版本,請取代此版本編號。

直接跳到步驟 5:在您的環境中設定 AWS 登入資料管理

使用 Gradle 設定

  1. 在您的環境中安裝 Gradle。若要查看是否已安裝 Gradle,請在 IDE AWS Cloud9 中使用終端機,以 -version選項執行 Gradle。

    gradle -version

    如果成功,輸出會包含 Gradle 版本號碼。如果已安裝 Gradle,請直接跳到此程序中的步驟 4,使用 Gradle 在環境中產生新的 Java 專案。

  2. 使用終端機執行以下命令以安裝 Gradle。這些命令安裝和執行 SDKMAN! 工具,然後使用 SDKMAN! 安裝最新版本的 Gradle。

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

    如需有關前述命令的詳細資訊,請參閱 SDKMAN! 網站的安裝,以及 Gradle 網站的使用套件軟體管理工具進行安裝

  3. 執行 Gradle 並使用 -version 選項以確認安裝。

    gradle -version
  4. 使用 Gradle 在環境中產生新的 Java 專案。若要這樣做,請使用終端機執行以下命令來建立專案目錄,然後切換到該目錄。

    mkdir my-app cd my-app
  5. 執行以下命令,讓 Gradle 在環境的 my-app 目錄中產生新的 Java 應用程式專案。

    gradle init --type java-application

    上述命令會在環境中建立以下專案目錄結構。

    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. 修改專案的 AppTest.java。(如果您不執行此操作,專案可能不會如預期建置或執行。) 若要執行此操作,請從 Environment (環境) 視窗開啟 my-app/src/test/java/AppTest.java 檔案。在編輯器中,使用以下程式碼取代該檔案的目前內容,然後儲存 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. 修改專案的 build.gradle 檔案。(build.gradle 檔案定義 Gradle 專案的設定。) 若要執行此操作,請從 Environment (環境) 視窗開啟 my-app/build.gradle 檔案。在編輯器中,使用以下程式碼取代該檔案的目前內容,然後儲存 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'

    上述 build.gradle 檔案包含指定宣告的專案設定,例如:

    • io.spring.dependency-management 外掛程式用於匯入 AWS SDK for Java Maven 物料清單 (BOM),以管理專案的 AWS SDK for Java 相依性。 classpath宣告要使用的版本。若要使用不同的版本,請取代此版本編號。

    • com.amazonaws:aws-java-sdk-s3 包含 AWS SDK for Java 程式庫檔案的 Amazon S3 部分。mavenBom 會宣告要使用的版本。如果您要使用不同的版本,請取代此版本編號。

步驟 5:在您的環境中設定 AWS 登入資料管理

每次使用 AWS SDK for Java 呼叫 AWS 服務時,您必須隨呼叫提供一組 AWS 登入資料。這些登入資料會判斷 是否 AWS SDK for Java 具有進行該呼叫的適當許可。如果登入資料未涵蓋適當許可,呼叫即會失敗。

在此步驟中,您會在環境中存放您的憑證。若要這麼做,請遵循 AWS 服務 從 中的環境呼叫 AWS Cloud9 中的指示,然後返回本主題。

如需其他資訊,請參閱 AWS SDK for Java 開發人員指南中的設定開發用的 AWS 憑證和區域

步驟 6:新增 AWS SDK 程式碼

在此步驟中,您會新增程式碼以與 Amazon S3 互動,藉此建立儲存貯體、列出可用的儲存貯體,然後刪除您剛建立的儲存貯體。

Environment (環境) 視窗,開啟 my-app/src/main/java/com/mycompany/app/App.java 檔案 (適用於 Maven) 或開啟 my-app/src/main/java/App.java 檔案 (適用於 Gradle)。在編輯器中,使用以下程式碼取代該檔案的目前內容,然後儲存 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()); } } }

步驟 7:建置並執行 AWS SDK 程式碼

若要執行上個步驟的程式碼,請從終端機執行以下命令。這些命令將使用 Maven 或 Gradle 建立專案的可執行 JAR 檔案,然後使用 Java runner 執行 JAR。JAR 會使用要在 Amazon S3 中建立的儲存貯體名稱 (例如 my-test-bucket) 和在 中建立儲存貯體做為輸入 AWS 的區域 ID (例如 us-east-2) 來執行。

如果是 Maven,請執行下列命令。

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

如果是 Gradle,請執行下列命令。

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

將您的結果與下列輸出比較。

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:

步驟 8:清理

為了避免在您完成使用此範例後持續向您的 AWS 帳戶收取費用,您應該刪除環境。如需說明,請參閱「在 中刪除環境 AWS Cloud9」。

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。