##やりたいこと
SpringBoot+gradleの環境からwarファイルを作成して、Mac環境のTomcatをデプロイする
##ビルド
gradleはインストール済みとする。
プロジェクト名は「MyFirstApplication」
$ gradle
> Task :help
Welcome to Gradle 6.5.1.
To run a build, run gradle <task> ...
To see a list of available tasks, run gradle tasks
To see a list of command-line options, run gradle --help
To see more detail about a task, run gradle help --task <task>
For troubleshooting, visit https://help.gradle.org
BUILD SUCCESSFUL in 1s
1 actionable task: 1 executed
###build.gradleの設定
plugins {
id 'war'
}
dependencies {
providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
}
###build実行
build.gradleと同じディレクトリに移動して
$ gradle build
自分の場合は以下のエラーが発生
> Task :compileJava FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':compileJava'.
> Could not target platform: 'Java SE 11' using tool chain: 'JDK 8 (1.8)'.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 14s
1 actionable task: 1 executed
どうやら自分のマシンに設定されているJavaバージョンとbuild.gradleのJavaバージョンが異なるために発生するらしい。
マシンに設定されているJavaバージョンは以下で確認。
$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home
build.gradleは'11'だったので'8'に修正
plugins {
id 'war'
}
sourceCompatibility = '8'
dependencies {
providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
}
再度ビルド
$ gradle build
> Task :test
2020-08-23 16:20:46.841 INFO 34656 --- [extShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'
2020-08-23 16:20:46.842 INFO 34656 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...
2020-08-23 16:20:46.848 INFO 34656 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.
BUILD SUCCESSFUL in 40s
5 actionable tasks: 5 executed
今度は成功。
/MyFirstApplication/build/libs/MyFirstApplication-0.0.1-SNAPSHOT.war
にwarが無事に作成された。
##Tomcatへデプロイ
Tomcatはインストール済みとする。
/apache-tomcat-9.0.37/webapps
にwarファイルを配置する。
自動的にwarファイルが解凍される。
##webアプリにアクセスする
ブラウザに以下のように打ち込む。
http://localhost:8080/MyFirstApplication-0.0.1-SNAPSHOT/sample/test
今回は
・Tomcat起動マシンが「localhost:8080」
・作成したアプリ名が「MyFirstApplication-0.0.1-SNAPSHOT」
・リソースの置き場が「/sample/test」
の場合。
以上。