Siapkan proyek Apache Maven - AWS SDK for Java 2.x

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Siapkan proyek Apache Maven

Anda dapat menggunakan Apache Maven untuk menyiapkan dan membangun AWS SDK for Java proyek, atau untuk membangun sendiri. SDK

Prasyarat

Untuk menggunakan AWS SDK for Java dengan Maven, Anda memerlukan yang berikut:

Buat proyek Maven

Untuk membuat proyek Maven dari baris perintah, jalankan perintah berikut dari terminal atau jendela prompt perintah.

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
catatan

Ganti com.example.myapp dengan namespace paket lengkap aplikasi Anda. Juga ganti myapp dengan nama proyek Anda. Ini menjadi nama direktori untuk proyek Anda.

Untuk menggunakan arketipe versi terbaru, ganti 2.X.X dengan yang terbaru dari Maven central.

Perintah ini membuat proyek Maven menggunakan toolkit templating arketipe. Pola dasar menghasilkan perancah untuk proyek penangan fungsi. AWS Lambda Arketipe proyek ini telah dikonfigurasi sebelumnya untuk dikompilasi dengan Java SE 8 dan menyertakan ketergantungan ke versi untuk Java 2.x yang ditentukan denganSDK. -DarchetypeVersion

Untuk informasi selengkapnya tentang membuat dan mengonfigurasi proyek Maven, lihat Panduan Memulai Maven.

Konfigurasikan compiler Java untuk Maven

Jika Anda membuat proyek menggunakan pola dasar AWS Lambda proyek seperti yang dijelaskan sebelumnya, konfigurasi kompiler Java sudah dilakukan untuk Anda.

Untuk memverifikasi bahwa konfigurasi ini ada, mulailah dengan membuka pom.xml file dari folder proyek yang Anda buat (misalnya,myapp) ketika Anda menjalankan perintah sebelumnya. Lihat pada baris 11 dan 12 untuk melihat pengaturan versi compiler Java untuk proyek Maven ini, dan penyertaan plugin compiler Maven yang diperlukan pada baris 71-75.

<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>

Jika Anda membuat proyek dengan pola dasar yang berbeda atau dengan menggunakan metode lain, Anda harus memastikan bahwa plugin kompiler Maven adalah bagian dari build dan properti sumber dan targetnya disetel ke 1.8 dalam file. pom.xml

Lihat cuplikan sebelumnya untuk satu cara mengonfigurasi pengaturan yang diperlukan ini.

Atau, Anda dapat mengkonfigurasi konfigurasi kompiler sebaris dengan deklarasi plugin, sebagai berikut.

<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>

Mendeklarasikan SDK sebagai ketergantungan

Untuk menggunakan AWS SDK for Java dalam proyek Anda, Anda perlu mendeklarasikannya sebagai dependensi dalam file proyek Anda. pom.xml

Jika Anda membuat proyek menggunakan pola dasar proyek seperti yang dijelaskan sebelumnya, versi terbaru dari proyek sudah SDK dikonfigurasi sebagai dependensi dalam proyek Anda.

Pola dasar menghasilkan ketergantungan artefak BOM (tagihan bahan) untuk id grup. software.amazon.awssdk Dengan aBOM, Anda tidak perlu menentukan versi maven untuk dependensi artefak individual yang berbagi id grup yang sama.

Jika Anda membuat proyek Maven dengan cara yang berbeda, konfigurasikan versi terbaru SDK untuk proyek Anda dengan memastikan bahwa pom.xml file tersebut berisi yang berikut ini.

<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>
catatan

Ganti 2.X.X dalam pom.xml file dengan versi terbaru dari file AWS SDK for Java 2.x.

Tetapkan dependensi untuk modul SDK

Sekarang setelah Anda mengonfigurasinyaSDK, Anda dapat menambahkan dependensi untuk satu atau lebih AWS SDK for Java modul yang akan digunakan dalam proyek Anda.

Meskipun Anda dapat menentukan nomor versi untuk setiap komponen, Anda tidak perlu melakukannya karena Anda sudah mendeklarasikan SDK versi di dependencyManagement bagian menggunakan artefak tagihan bahan. Untuk memuat versi berbeda dari modul tertentu, tentukan nomor versi untuk ketergantungannya.

Jika Anda membuat proyek menggunakan pola dasar proyek seperti yang dijelaskan sebelumnya, proyek Anda sudah dikonfigurasi dengan beberapa dependensi. Ini termasuk dependensi untuk penangan AWS Lambda fungsi dan Amazon S3, sebagai berikut.

<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>
catatan

Pada pom.xml contoh di atas, dependensi berasal dari s yang berbedagroupId. s3Ketergantungan berasal darisoftware.amazon.awssdk, sedangkan aws-lambda-java-core dependensi berasal dari. com.amazonaws Konfigurasi manajemen BOM ketergantungan memengaruhi artefak untuksoftware.amazon.awssdk, sehingga diperlukan versi untuk artefak. aws-lambda-java-core

Untuk pengembangan penangan fungsi Lambda menggunakan SDK untuk Java 2.x, aws-lambda-java-core adalah ketergantungan yang benar. Namun, jika aplikasi Anda perlu mengelola sumber daya Lambda, menggunakan operasi sepertilistFunctions,,, dan deleteFunction invokeFunctioncreateFunction, aplikasi Anda memerlukan dependensi berikut.

<groupId>software.amazon.awssdk</groupId> <artifactId>lambda</artifactId>
catatan

s3Ketergantungan mengecualikan dependensi netty-nio-client dan apache-client transitif. Sebagai pengganti salah satu HTTP klien tersebut, arketipe mencakup url-connection-client ketergantungan, yang membantu mengurangi latensi startup untuk fungsi. AWS Lambda

Tambahkan modul ke proyek Anda untuk Layanan AWS dan fitur yang Anda butuhkan untuk proyek Anda. Modul (dependensi) yang dikelola oleh AWS SDK for Java BOM terdaftar di repositori pusat Maven.

catatan

Anda dapat melihat pom.xml file dari contoh kode untuk menentukan dependensi mana yang Anda butuhkan untuk proyek Anda. Misalnya, jika Anda tertarik dengan dependensi untuk layanan DynamoDB, lihat contoh ini dari Repositori Contoh Kode di.AWS GitHub (Cari pom.xml file di bawah /javav2/example_code/dynamodb.)

Bangun keseluruhan SDK ke dalam proyek Anda

Untuk mengoptimalkan aplikasi Anda, kami sangat menyarankan agar Anda hanya menarik komponen yang Anda butuhkan, bukan keseluruhanSDK. Namun, untuk membangun keseluruhan AWS SDK for Java ke dalam proyek Anda, nyatakan dalam pom.xml file Anda, sebagai berikut.

<project> <dependencies> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>aws-sdk-java</artifactId> <version>2.X.X</version> </dependency> </dependencies> </project>

Bangun proyek Anda

Setelah Anda mengkonfigurasi pom.xml file, Anda dapat menggunakan Maven untuk membangun proyek Anda.

Untuk membangun proyek Maven Anda dari baris perintah, buka jendela terminal atau command prompt, arahkan ke direktori proyek Anda (misalnya,myapp), masukkan atau tempel perintah berikut, lalu tekan Enter atau Return.

mvn package

Ini menciptakan satu .jar file (JAR) di target direktori (misalnya,myapp/target). Ini JAR berisi semua SDK modul yang Anda tentukan sebagai dependensi dalam file Andapom.xml.