設置一個阿帕奇 Maven 項目 - AWS SDK for Java 2.x

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

設置一個阿帕奇 Maven 項目

您可以使用 Apache Maven 來設置和構建AWS SDK for Java項目,或者自行構建 SDK

必要條件

您需要有下列項目,才能使用AWS SDK for Java搭配 Maven:

建立 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函數處理程序項目生成腳手架。此專案原型已預先設定為使用 Java SE 8 進行編譯,並包含與所指定之 Java 2.x 版本的相依性。-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 的最新版本已設定為專案中的相依性。

原型會為群組 ID 產生 BOM (材料清單) 人工因素相software.amazon.awssdk依性。使用 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

設定開發套件模組的相依性

設定好開發套件後,您就可以新增一或多個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 s。依s3賴關係來自software.amazon.awssdk,而aws-lambda-java-core依賴關係來自com.amazonaws。BOM 相依性管理組態會影響的人工因素software.amazon.awssdk,因此需要人工因aws-lambda-java-core素的版本。

對於使用適用於 Java 2.x 的 SDK 開發 Lambda 函數處理常式aws-lambda-java-core是正確的依賴關係。但是,如果您的應用程式需要管理 Lambda 資源,則使用listFunctionsdeleteFunction、和等作業 invokeFunctioncreateFunction,您的應用程式需要下列相依性。

<groupId>software.amazon.awssdk</groupId> <artifactId>lambda</artifactId>
注意

s3依性會排除netty-nio-clientapache-client傳遞相依性。代替這些 HTTP 客戶端中的任何一個,原型包含url-connection-client依賴關係,這有助於減少AWS Lambda功能的啟動延遲

將模塊添加到項目中AWS 服務,以獲取項目所需的功能。由 AWS SDK for Java BOM 管理的模塊(依賴關係)列在 Maven 中央存儲庫中

注意

您可以在程式碼範例中查看 pom.xml 檔案,以判斷專案需要的相依性。例如,如果您對 DynamoDB 服務的相依性感興趣,請參閱上的AWS程式碼範例存放庫中的此範例。 GitHub(在 /javav2/例子代碼/動態庫下查找文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 檔案中指定為相依性的所有開發套件模組。