タイトル : maven初歩 AWS SDK for Java を試す 2025
更新日 : 2025-08-10
カテゴリ : プログラミング
概要
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>