AWS Lambda
Guia do desenvolvedor

Criação de um pacote de implantação .jar usando Maven sem qualquer IDE (Java)

Esta seção mostra como empacotar seu código Java em um pacote de implantação usando Maven na linha de comando.

Antes de começar

Você precisará instalar a ferramenta de compilação da linha de comando do Maven. Para obter mais informações, acesse Maven. Se você estiver usando o Linux, verifique seu gerenciador de pacotes.

sudo apt-get install mvn

se você estiver usando o Homebrew

brew install maven

Visão geral da estrutura do projeto

Depois de configurar o projeto, você deve ter a seguinte estrutura de pastas:

project-dir/pom.xml          project-dir/src/main/java/ (your code goes here)

Seu código, então, estará na pasta /java. Por exemplo, se o nome do pacote for example e você tiver uma classe Hello.java nele, a estrutura será:

project-dir/src/main/java/example/Hello.java

Após compilar o projeto, o arquivo .jar resultante (ou seja, seu pacote de implantação) estará no subdiretório project-dir/target.

Etapa 1: Criar um projeto

Siga as etapas nesta seção para criar um projeto Java.

  1. Crie um diretório de projeto (project-dir).

  2. No diretório project-dir, crie o seguinte:

    • Arquivo modelo de objeto do projeto, pom.xml. Adicione as seguintes informações sobre o projeto e detalhes de configuração para o Maven criar o projeto.

      <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>doc-examples</groupId> <artifactId>lambda-java-example</artifactId> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <name>lambda-java-example</name> <dependencies> <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-lambda-java-core</artifactId> <version>1.1.0</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>2.3</version> <configuration> <createDependencyReducedPom>false</createDependencyReducedPom> </configuration> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project>

      nota

      • Na seção dependencies, o groupId (ou seja, com.amazonaws) é o ID do grupo da AWS da Amazon para artefatos do Maven no repositório central do Maven. O artifactId (ou seja, aws-lambda-java-core) é a biblioteca principal do AWS Lambda que fornece definições do , e as interfaces de RequestHandler, RequestStreamHandler e Context do AWS Lambda para uso em seu aplicativo Java. Na ocasião da compilação, o Maven resolve essas dependências.

      • Na seção de plug-ins, o maven-shade-plugin do Apache é um plug-in que será obtido por download e usado pelo Maven durante o processo de criação. Este plug-in é usado para empacotar jars para criar um.jar independente (um arquivo .zip), seu pacote de implantação.

      • Se você estiver seguindo outros tópicos do tutorial neste guia, os tutoriais específicos podem exigir que você adicione mais dependências. Adicione essas dependências conforme o necessário.

  3. Em project-dir, crie a seguinte estrutura:

    project-dir/src/main/java
  4. No subdiretório /java, adicione, se houver, os arquivos Java e a estrutura da pasta. Por exemplo, se o nome de seu pacote Java for example e o código-fonte for Hello.java, a estrutura de seu diretório será semelhante a:

    project-dir/src/main/java/example/Hello.java

Etapa 2: Criar projeto (criar pacote de implantação)

Agora você pode criar o projeto usando o Maven na linha de comando.

  1. Em um prompt de comando, altere o diretório para o diretório do projeto (project-dir).

  2. Execute o seguinte comando mvn para criar o projeto:

    $ mvn package

    O .jar resultante é salvo como project-dir/target/lambda-java-example-1.0-SNAPSHOT.jar. O nome do .jar é criado ao concatenar o artifactId e version no arquivo pom.xml.

    A compilação cria este .jar resultante usando informações no pom.xml para realizar as transformações necessárias. Este é um arquivo .jar independente (arquivo .zip), que inclui todas as dependências. Esse é seu pacote de implantação que você faz upload no AWS Lambda para criar uma função do Lambda.