タイトル : maven初歩 AWS SDK for Java を試す 2025
更新日 : 2025-08-10
カテゴリ : プログラミング
タグ :
aws   
java   

AWS SDK for Java を試す 2025

概要

AWS SDK for Javaのページを見ると、mavenがメインみたいですね。

Kotlinプロジェクトの影響でgradleの方が勢いが良いけど、Geminiさんに聞いたら Mave 50%、Gradle 41%でまだシェアはmavenみたい。

あとSDK for Javaがapacheのリソースを多く使っていることも理由の一つなのかな?

なので、mavenをおさらいです。

バージョン確認

maven、javaとも古いけど。Javaを使いたいわけではないので、このままで。

$ mvn --version
Apache Maven 3.8.7
Maven home: /usr/share/maven
Java version: 1.8.0_462, vendor: Private Build, runtime: /usr/lib/jvm/java-8-openjdk-amd64/jre
Default locale: ja_JP, platform encoding: UTF-8
OS name: "linux", version: "6.11.0-29-generic", arch: "amd64", family: "unix"
$ 

プロジェクトの作成

Maven を使った Java project 作成方法 を参照

$ mvn archetype:generate \
  -DarchetypeArtifactId=maven-archetype-quickstart \
  -DinteractiveMode=false -DgroupId=com.skiss.awstest  -DartifactId=s3_01
[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------< org.apache.maven:standalone-pom >-------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] --------------------------------[ pom ]---------------------------------
[INFO] 
[INFO] >>> maven-archetype-plugin:3.4.0:generate (default-cli) > generate-sources @ standalone-pom >>>
[INFO] 
[INFO] <<< maven-archetype-plugin:3.4.0:generate (default-cli) < generate-sources @ standalone-pom <<<
[INFO] 
[INFO] 
[INFO] --- maven-archetype-plugin:3.4.0:generate (default-cli) @ standalone-pom ---
[INFO] Generating project in Batch mode
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating project from Old (1.x) Archetype: maven-archetype-quickstart:1.0
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: basedir, Value: /home/XXX/work/AWS/LocalStack/SDKforJava/Try2
[INFO] Parameter: package, Value: com.skiss.awstest
[INFO] Parameter: groupId, Value: com.skiss.awstest
[INFO] Parameter: artifactId, Value: s3_01
[INFO] Parameter: packageName, Value: com.skiss.awstest
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] project created from Old (1.x) Archetype in dir: /home/XXX/work/AWS/LocalStack/SDKforJava/Try2/s3_01
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  0.448 s
[INFO] Finished at: 2025-08-10T13:49:24+09:00
[INFO] ------------------------------------------------------------------------
$ 

作成された階層

$ tree s3_01
s3_01
├── pom.xml
└── src
    ├── main
    │   └── java
    │       └── com
    │           └── skiss
    │               └── awstest
    │                   └── App.java
    └── test
        └── java
            └── com
                └── skiss
                    └── awstest
                        └── AppTest.java

12 directories, 3 files
$

コンパイル

$ mvn compile
[INFO] Scanning for projects...
[INFO] 
[INFO] ----------------------< com.skiss.awstest:s3_01 >-----------------------
[INFO] Building s3_01 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ s3_01 ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /home/prost/XXX/AWS/LocalStack/SDKforJava/Try2/s3_01/src/main/resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ s3_01 ---
[INFO] Nothing to compile - all classes are up to date
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  0.202 s
[INFO] Finished at: 2025-08-10T14:08:41+09:00
[INFO] ------------------------------------------------------------------------
$

階層

$ tree
.
├── pom.xml
├── src
│   ├── main
│   │   └── java
│   │       └── com
│   │           └── skiss
│   │               └── awstest
│   │                   └── App.java
│   └── test
│       └── java
│           └── com
│               └── skiss
│                   └── awstest
│                       └── AppTest.java
└── target
    ├── classes
    │   └── com
    │       └── skiss
    │           └── awstest
    │               └── App.class
    ├── maven-status
    │   └── maven-compiler-plugin
    │       └── compile
    │           └── default-compile
    │               ├── createdFiles.lst
    │               └── inputFiles.lst
    └── test-classes
        └── com
            └── skiss
                └── awstest
                    └── AppTest.class

25 directories, 7 files
$

実行

$ java -cp target/classes/ com.skiss.awstest.App
こんにちは スカンク
$

pom.xml

<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>com.skiss.awstest</groupId>
  <artifactId>s3_01</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>s3_01</name>
  <url>http://maven.apache.org</url>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>