プロジェクトの構造
Webツールを使っても、IDEを使ってもできあがるプロジェクトのディレクトリやファイル構造は同じため、どちらを使ってもその後の進め方や、メンテナンス方法が異なることはありせん。
また、MavenとGradleのどちらの形式にするかは、利用者が好きな方を選んで問題ありません。筆者は、MavenでのXML形式よりもGradle形式の方が見やすく、そしてAndroidプロジェクトの場合にはGradleの方がよく利用されているといった理由から、Javaでのプロジェクト管理にはGradleを利用しています。
Gradleの方がMavenよりも後発のため、同様の機能を持ちつつ、スクリプト形式を採用することで、XML形式より開発者がちょっとした作業を記述しやすくなっています。
また、今後のサンプルなどはGradle形式で紹介していきますので、どちらにするか迷う場合には、Gradle形式を選択することをおすすめします。
Mavenを使ったときのプロジェクトの構造と実行までの流れ
Maven形式でプロジェクトを作成すると、図4のディレクトリとファイルが作成されます。
Maven形式でプロジェクトを作成しても、プロジェクト内にあるmvnwコマンドを使えば別途、Mavenをインストールする必要はありません。
コンパイルやビルドなどは他のMavenでのタスクと同様に使えますが、Spring Bootのコードを実行する場合にはリスト1のようにspring-boot:runタスクで実行が可能です。
./mvnw spring-boot:run [INFO] Scanning for projects... [INFO] [INFO] ---------------------< com.coltware.spring:demo2 >---------------------- [INFO] Building demo2 0.0.1-SNAPSHOT [INFO] --------------------------------[ jar ]--------------------------------- // ・・・省略 . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.1.1.RELEASE) 2018-12-23 17:28:28.783 INFO 17835 --- [ main] c.c.spring.demo2.Demo2Application : Starting Demo2Application on musvia16.local with PID 17835 // ・・・省略
Gradleを使ったときのプロジェクトの構造と実行までの流れ
Gradle形式でプロジェクトを作成すると、図5のディレクトリとファイルが作成されます。
GradleでもMavenと同様に、プロジェクト内にあるgradlewコマンドを使えば、別途、Gradleをインストールする必要はありません。
また、コンパイルやビルドでも同様に、Spring Bootのコードを実行する場合にはリスト2のようにbootRunタスクで実行が可能です。
./gradlew bootRun Downloading https://services.gradle.org/distributions/gradle-4.10.2-bin.zip .......................................................................... // ・・・省略 > Task :bootRun . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.1.1.RELEASE) 2018-12-23 17:31:04.441 INFO 17863 --- [ main] c.c.spring.demo2.Demo2Application : Starting Demo2Application on musvia16.local with PID 17863 // ・・・省略
