プロになるための「Spring入門」をコマンドラインで実行する。

概要
mavenのmulti moduleでのmvnコマンドによるコンパイル手順を調べました。
サンプルコードのビルドスクリプトはmavenのmulti moduleを使って、依存関係が記述されているため、コマンドライン上からコンパイルする方法を調べました。

サンプルコードの構成
サンプルコードは次のような構造になっています。
spring-book-src-master$ tree -L 2
.
├── 0001-training-common
│ ├── Instruction.adoc
│ ├── pom.xml
│ └── src
├── 0002-shopping-common
....
├── 2302-shopping-selenide-answer
└── pom.xml
親モジュール(spring-book-src-master)と、0001-training-commonなどの子のモジュールからなる
mavenマルチモジュールの構成になっています。各xxxxにpom.xmlがあります。
実行方法
0402-shopping-stereotype-annotationを実行する場合です。
コンパイル
親ディレクトリ(spring-book-src-master)から --project(-pl)オプションとを--also-make(-am) オプション指定してpackage フェーズを実行します。
spring-book-src-master$ mvn clean compile -pl 0402-shopping-stereotype-annotation -am
-plオプションは特定のモジュールだけを対象とするため、-amは依存しているモジュールも対象にするためです。
参考
依存ライブラリのダウンロード
~/.m2にあるライブラリで依存しているjarをtarget/dependencyディレクトリ内にコピーさせます。
spring-book-src-master$ mvn dependency:copy-dependencies -pl 0402-shopping-stereotype-annotation -am
javaの実行
クラスパスを指定して実行することができます。
jarファイルのあるtarget/dependencyとtarget/classesを指定します。
そして、mainメソッドのある。com.example.shopping.ShoppingApplicationを実行すれば実行することができます。
java -cp 0402-shopping-stereotype-annotation/target/dependency/*:0402-shopping-stereotype-annotation/target/classes com.example.shopping.ShoppingApplication
0402はエラーが起こるのを直せという課題なのでエラーが出ますが…
以上です。