AWS SDK for Java with Apache Maven
Apache Maven is used as a project management tool based on a project object model (POM). It is useful for dependency management, project build, and document. To add any dependency in our project, we need to maintain a pom.xml file that contains the dependencies in the form of xml tags. The maven maintains a central repository called the maven central repository, which contains the SDK for all the dependencies.
The maven also maintains a local repository in which it downloads the dependencies from a central or local repository. However, we can use maven to configure and build AWS SDK for the Java projects.
To configure the AWS SDK with maven for java projects, we need to have Java 8.0 or later installed on our machine. However, we can download the latest Java SE Development Kit from http://www.oracle.com/technetwork/java/javase/downloads/. We also need to download the install maven, which can be downloaded and installed using http://maven.apache.org/.
Creating a maven project
To create a maven project using the command line terminal, we need to run the following command on the command prompt.
Here, we need to replace the group id, i.e.., com.example.myapp, with the full package namespace of our project. We also need to replace the artifact id, I.e., myapp, with the name of our application.
In the above command, we have selected the AWS lambda project archetype. The project archetype includes the dependency to the AWS SDK for java.
Java compiler for maven
The java compiler is configured with AWS SDK when we create the project with AWS lambda archetype. For the verification that this configuration is present, we need to open the pom.xml file in our project, we will find the java compiler plugin. The code of pom.xml file is given below.
Adding AWS SDK in pom.xml
As we have already discussed, the AWS SDK needs to be configured in the pom.xml file to use the AWS SDK in the java project. However, if we have created the maven project the AWS lambda archetype, this dependency will already be configured in our project.
We need to update this configuration to use the latest version of AWS SDK for Java. For this purpose, we need to open the pom.xml file and change the aws.java.sdk.version property to the latest one. Consider the following example.
However, if we have selected any other archetype while creating the maven project, we must ensure that the pom.xml contains the following dependency.
Add Dependencies for the SDK Modules
As we have configured the AWS SDK, we can add the dependencies for one or more of AWS SDK for Java modules. We can also declare the version number for any component to load the custom version of any module. However, if we have created the maven project with the AWS lambda archetype, we will have dependencies added for Lambda and Amazon DynamoDB as follows.
Building the SDK in our project
To build the entire SDK in our project, we must declare it in the pom.xml file of our maven project, as follows.
However, we recommend that we must not build the entire AWS SDK in our project. Instead, we should add only the components we need.
Build the Project
Once we configure the pom.xml, we can use maven to build our project. To build the maven project, we open the terminal (command prompt), navigate our project directory, and run the following command.
This will create a single jar file in the target directory that contains all the SDK modules that we specified in the pom.xml file of our project.