Thursday, October 19, 2017

Creating a .jar Deployment Package Using Maven and Eclipse IDE (Java)

This section shows how to package your Java code into a deployment package using Eclipse IDE and Maven plugin for Eclipse.

Before You Begin

Install the Maven Plugin for Eclipse.
  1. Start Eclipse. From the Help menu in Eclipse, choose Install New Software.
  2. In the Install window, type http://download.eclipse.org/technology/m2e/releases in the Work with: box, and choose Add.
  3. Follow the steps to complete the setup.

Step 1: Create and Build a Project

In this step, you start Eclipse and create a Maven project. You will add the necessary dependencies, and build the project. The build will produce a .jar, which is your deployment package.
  1. Create a new Maven project in Eclipse.
    1. From the File menu, choose New, and then choose Project.
    2. In the New Project window, choose Maven Project.
    3. In the New Maven Project window, choose Create a simple project, and leave other default selections.
    4. In the New Maven Project, Configure project windows, type the following Artifact information:
      • Group Id: doc-examples
      • Artifact Id: lambda-java-example
      • Version: 0.0.1-SNAPSHOT
      • Packaging: jar
      • Name: lambda-java-example
  2. Add the aws-lambda-java-core dependency to the pom.xml file.
    It provides definitions of the RequestHandler, RequestStreamHandler, and Context interfaces. This allows you to compile code that you can use with AWS Lambda.
    1. Open the context (right-click) menu for the pom.xml file, choose Maven, and then choose Add Dependency.
    2. In the Add Dependency windows, type the following values:
      Group Id: com.amazonaws
      Artifact Id: aws-lambda-java-core
      Version: 1.1.0
      Note
      If you are following other tutorial topics in this guide, the specific tutorials might require you to add more dependencies. Make sure to add those dependencies as required.
  3. Add Java class to the project.
    1. Open the context (right-click) menu for the src/main/java subdirectory in the project, choose New, and then choose Class.
    2. In the New Java Class window, type the following values:
      • Package: example
      • Name: Hello
        Note
        If you are following other tutorial topics in this guide, the specific tutorials might recommend different package name or class name.
    3. Add your Java code. If you are following other tutorial topics in this guide, add the provided code.
  4. Build the project.
    Open the context (right-click) menu for the project in Package Explorer, choose Run As, and then choose Maven Build .... In the Edit Configuration window, type package in the Goals box.
    Note
    The resulting .jar, lambda-java-example-0.0.1-SNAPSHOT.jar, is not the final standalone .jar that you can use as your deployment package. In the next step, you add the Apache maven-shade-plugin to create the standalone .jar. For more information, go to Apache Maven Shade Plugin.
  5. Add the maven-shade-plugin plugin and rebuild.
    The maven-shade-plugin will take artifacts (jars) produced by the package goal (produces customer code .jar), and created a standalone .jar that contains the compiled customer code, and the resolved dependencies from the pom.xml.
    1. Open the context (right-click) menu for the pom.xml file, choose Maven, and then choose Add Plugin.
    2. In the Add Plugin window, type the following values:
      • Group Id: org.apache.maven.plugins
      • Artifact Id: maven-shade-plugin
      • Version: 2.3
    3. Now build again.
      This time we will create the jar as before, and then use the maven-shade-plugin to pull in dependencies to make the standalone .jar.
      1. Open the context (right-click) menu for the project, choose Run As, and then choose Maven build ....
      2. In the Edit Configuration windows, type package shade:shade in the Goals box.
      3. Choose Run.
        You can find the resulting standalone .jar (that is, your deployment package), in the /target subdirectory.
        Open the context (right-click) menu for the /target subdirectory, choose Show In, choose System Explorer, and you will find the lambda-java-example-0.0.1-SNAPSHOT.jar.

Sunday, October 15, 2017

How to change JAVA.HOME for Eclipse/ANT

In Eclipse the Ant java.home variable is not based on the Windows JAVA_HOME environment variable. Instead it is set to the home directory of the project's JRE.
To change the default JRE (e.g. change it to a JDK) you can go to Windows->Preferences... and choose Java->Installed JREs.
To change just a single project's JRE you can go to Project->Properties and choose Java Build Path and choose the Libraries tab. Find the JRE System Library and click it, then choose Edit and choose the JRE (or JDK) that you want.
If that doesn't work then when running the build file you can choose Run as->Ant Build... and click the JRE tab, choose separate JRE and specify the JRE you want there.

Saturday, October 14, 2017

How to import a jar in Eclipse

You can add a jar in Eclipse by right-clicking on the Project → Build Path → Configure Build Path. Under Libraries tab, click Add Jars or Add External JARs and give the Jar. A quick demo here.
enter image description here
The above solution is obviously a "Quick" one. However, if you are working on a project where you need to commit files to the source control repository, I would recommend adding Jar files to a dedicated library folder within your source control repository and referencing few or all of them as mentioned above.