メニュー
AWS Lambda
開発者ガイド

IDE なしで Maven を使用した .jar デプロイパッケージの作成 (Java)

このセクションでは、コマンドラインで Maven を使用してデプロイパッケージに Java コードをパッケージ化する方法を示します。

開始する前に

Maven コマンドラインビルドツールをインストールする必要があります。詳細については、「Maven」を参照してください。Linux を使用している場合は、パッケージマネージャーを確認します。

Copy
sudo apt-get install mvn

Homebrew を使用している場合

Copy
brew install maven

プロジェクト構造の概要

プロジェクトを設定すると、次のフォルダー構造が作成されます。

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

コードは /java フォルダーにあります。たとえば、パッケージ名が example で、このパッケージに Hello.java クラスがある場合、構造は以下のようになります。

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

プロジェクトを作成すると、結果的に生じる .jar ファイル (デプロイパッケージ) は project-dir/target サブディレクトリにあります。

ステップ 1: プロジェクトを作成する

このセクションの手順に従って Java プロジェクトを作成します。

  1. プロジェクトディレクトリ (project-dir) を作成します。

  2. project-dir ディレクトリで、次のものを作成します。

    • プロジェクトオブジェクトモデルファイルの pom.xml。Maven でプロジェクトをビルドするために、次のプロジェクト情報と設定の詳細を追加します。

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

      注記

      • dependencies」セクションで、groupId (com.amazonaws) は Maven 中央レポジトリの Maven アーティファクト用の Amazon AWS グループ ID です。artifactId (aws-lambda-java-core) は、RequestHandlerRequestStreamHandler の定義、および Java アプリケーションで使用する Context AWS Lambda インターフェイスを提供する AWS Lambda のコアライブラリです。ビルド時に、Maven はこれらの依存関係を解決します。

      • プラグインセクションでは、Apache maven-shade-plugin は、Maven がビルドプロセス中にダウンロードして使用するプラグインです。このプラグインは、デプロイパッケージであるスタンドアロン .jar (.zip ファイル) を作成するために、jar のパッケージ化に使用されます。

      • このガイドの他のチュートリアル トピックに従っている場合、特定のチュートリアルでは依存関係の追加が必要になることがあります。必ず、それらの依存関係を必要に応じて追加してください。

  3. project-dir で、以下の構造を作成します。

    Copy
    project-dir/src/main/java
  4. /java サブディレクトリで、Java ファイルとフォルダー構造 (ある場合) を追加します。たとえば、Java パッケージ名が example で、ソースコードが Hello.java の場合、ディレクトリ構造は以下のようになります。

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

ステップ 2: プロジェクトをビルドする (デプロイパッケージを作成する)

これで、コマンドラインで Maven を使用してプロジェクトをビルドできます。

  1. コマンドプロンプトで、ディレクトリをプロジェクトディレクトリ (project-dir) に変更します。

  2. 次の mvn コマンドを実行して、プロジェクトをビルドします。

    Copy
    $ mvn package

    結果として生じる .jar は、project-dir/target/lambda-java-example-1.0-SNAPSHOT.jar として保存されます。.jar 名は、 ファイルで artifactId および version ファイルを連結して作成されます。pom.xml

    ビルドにより、結果として生じるこの .jar が作成され、pom.xml の情報を使用して必要な変換が行われます。これは、すべての依存関係を含むスタンドアロン .jar (.zip ファイル) です。これは、Lambda 関数を作成するために AWS Lambda にアップロードできるデプロイパッケージです。