本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
您可以使用 Apache Maven
先決條件
若要 AWS SDK for Java 搭配 Maven 使用 ,您需要下列項目:
-
Java 8.0 或更新版本。您可以從 http://www.oracle.com/technetwork/java/javase/downloads/
下載最新的 Java SE 開發套件軟體。 AWS SDK for Java 也適用於 OpenJDK 和 Amazon Corretto,這是 Open Java 開發套件 (OpenJDK) 的發行版本。從 https://openjdk.java.net/install/index.html 下載最新版本的 OpenJDK。從 Corretto 頁面 下載最新的 Amazon Corretto 8 或 Amazon Corretto 11 版本。 -
Apache Maven。如果您需要安裝 Maven,請前往 http://maven.apache.org/
下載並安裝。
建立 Maven 專案
若要從命令列建立 Maven 專案,請從終端機或命令提示字元視窗執行下列命令。
mvn -B archetype:generate \ -DarchetypeGroupId=software.amazon.awssdk \ -DarchetypeArtifactId=archetype-lambda -Dservice=s3 -Dregion=US_WEST_2 \ -DarchetypeVersion=
2.X.X
\ -DgroupId=com.example.myapp \ -DartifactId=myapp
注意
將 com.example.myapp 更換為您應用程式的完整套件命名空間。亦請將 myapp 更換為您的專案名稱。這會成為您專案的目錄名稱。
若要使用最新版本的原型,請將 2.X.X 取代
為 Maven 中央的最新版本
此命令使用原型範本工具組建立 Maven 專案。原型會為 AWS Lambda 函數處理常式專案 產生 scaffolding。此專案原型已預先設定為使用 Java SE 8 編譯,並包含對使用 指定的適用於 Java 2.x 的 SDK 版本的相依性。 -DarchetypeVersion
如需建立和設定 Maven 專案的詳細資訊,請參閱 Maven 入門指南
設定適用於 Maven 的 Java 編譯器
如果您使用上述 AWS Lambda 的專案原型建立專案,Java 編譯器的組態已為您完成。
若要驗證此組態是否存在,請從您執行上一個指令時所建立的專案資料夾中 (例如 myapp
),開啟 pom.xml
檔案開始。查看第 11 行和第 12 行中此 Maven 專案的 Java 編譯器版本設定,以及在第 71 至 75 行中必須包含的 Maven 編譯器外掛程式。
<project>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven.compiler.plugin.version}</version>
</plugin>
</plugins>
</build>
</project>
如果您使用不同的原型或使用其他方法建立專案,您必須確保 Maven 編譯器外掛程式是組建的一部分,且其來源和目標屬性在 pom.xml
檔案中都設定為 1.8。
請參閱上一個程式碼片段,以了解設定這些必要設定的一種方法。
或者,您也可以使用外掛程式宣告設定編譯器組態內嵌,如下所示。
<project>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
將開發套件宣告為相依性
若要在專案 AWS SDK for Java 中使用 ,您需要在專案的 pom.xml
檔案中將其宣告為相依性。
如果您使用上述的專案原型建立專案,則最新版本的 SDK 已設定為專案中的相依性。
原型會為software.amazon.awssdk
群組 ID 產生 BOM (物料帳單) 成品相依性。使用 BOM,您不需要為共用相同群組 ID 的個別成品相依性指定 maven 版本。
如以不同方式建立 Maven 專案,請確保 pom.xml
檔案包含以下內容,以為專案設定開發套件的最新版本。
<project>
<properties>
<aws.java.sdk.version>2.X.X
</aws.java.sdk.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>bom</artifactId>
<version>${aws.java.sdk.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
</project>
注意
將 pom.xml
檔案中的 2.X.X
取代為最新版本的 AWS SDK for Java 2.x
設定開發套件模組的相依性
現在您已設定 SDK,您可以為一或多個 AWS SDK for Java 模組新增相依性,以便在專案中使用。
雖然您可以指定每個元件的版本編號,但您不需要 ,因為您已在 dependencyManagement
區段中使用物料清單成品宣告 SDK 版本。若要載入指定模組的不同版本,請為其相依性指定版本編號。
如果您使用上述的專案原型建立專案,您的專案已設定多個相依性。這些包括 AWS Lambda 函數處理常式和 Amazon S3 的相依性,如下所示。
<project>
<dependencies>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>s3</artifactId>
<exclusions>
<exclusion>
<groupId>software.amazon.awssdk</groupId>
<artifactId>netty-nio-client</artifactId>
</exclusion>
<exclusion>
<groupId>software.amazon.awssdk</groupId>
<artifactId>apache-client</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>url-connection-client</artifactId>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-lambda-java-core</artifactId>
<version>${aws.lambda.java.version}</version>
</dependency>
</dependencies>
</project>
注意
在上述pom.xml
範例中,相依性來自不同的 groupId
。s3
相依性來自 software.amazon.awssdk
,aws-lambda-java-core
而相依性來自 com.amazonaws
。BOM 相依性管理組態會影響 的成品software.amazon.awssdk
,因此aws-lambda-java-core
成品需要 版本。
對於使用適用於 Java 的 SDK 2.x 開發 Lambda 函數處理常式, aws-lambda-java-core
是正確的相依性。不過,如果您的應用程式需要使用 listFunctions
、、 deleteFunction
invokeFunction
和 等操作來管理 Lambda 資源createFunction
,您的應用程式需要下列相依性。
<groupId>software.amazon.awssdk</groupId>
<artifactId>lambda</artifactId>
注意
s3
相依性會排除 netty-nio-client
和apache-client
傳輸相依性。原型會取代其中一個 HTTP 用戶端,包括url-connection-client
相依性,這有助於減少函數的 AWS Lambda 啟動延遲。
將模組新增至專案,以取得專案所需的 AWS 服務 和 功能。由 BOM 管理的 AWS SDK for Java 模組 (相依性) 會列在 Maven 中央儲存庫
注意
您可以在程式碼範例中查看 pom.xml
檔案,以判斷專案需要的相依性。例如,如果您對 DynamoDB 服務的相依性感興趣,請參閱 GitHub 上AWS 程式碼範例儲存庫pom.xml
檔案。)
在專案中建立整個開發套件
若要最佳化您的應用程式,強烈建議您只提取所需元件,不要提取整個開發套件。不過,若要將整個 建置 AWS SDK for Java 到您的專案中,請在您的 pom.xml
檔案中宣告它,如下所示。
<project>
<dependencies>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>aws-sdk-java</artifactId>
<version>2.X.X
</version>
</dependency>
</dependencies>
</project>
建立專案
設定 pom.xml
檔案後,您就可以使用 Maven 建立您的專案。
若要從命令列建立 Maven 專案,請開啟終端機或命令提示視窗,導覽至您的專案目錄 (例如 myapp
),輸入或貼上以下命令,然後按 Enter 或 Return。
mvn package
這會在 target
目錄中建立單一 .jar
檔案 (JAR) (例如 myapp/target
)。此 JAR 包含您在 pom.xml
檔案中指定為相依性的所有開發套件模組。