タイトル: Spring Bootプロジェクトのビルドと本番環境へのデプロイ方法(内部tomcat使用)
SEOタイトル: Spring Bootプロジェクトのビルドと本番環境へのデプロイ方法(内部tomcat使用)
| この記事の要点 |
- Spring Boot プロジェクト(内蔵 Tomcat / jar パッケージ)を本番にデプロイする手順
- 前提: Spring Boot プロジェクト / mvn / JDK ダウンロード済 / 本番に Java インストール済
- 手順: Eclipse で JDK 設定 → mvn package で jar を生成 → 本番サーバに jar をアップ →
java -jar app.jar
- 常駐させるなら
nohup java -jar app.jar & または systemd サービス化
|
前提
・Spring Bootプロジェクトである。
・最低限動作するアプリを作成済み。
※まだの場合はこちらの記事を参考に。
・Bootプロジェクト内蔵のtomcatを使用する。
・パッケージング方式がjarである。
・mavenを使用する。
・JDKがダウンロード済み
※まだの場合は公式サイトからダウンロードしてください。
JDKをダウンロードしないとビルド時にエラーが発生します。
・本番環境にJavaのインストール済み
※まだの場合はこちらを参考に。
・本番環境のtomcatのポート番号が解放されている
※まだの場合はこちらを参考に。
JDKの設定
ビルドの前提としてJDKを使用しないとエラーが発生するのでプロジェクトにJDKを設定しましょう。
「Window」→「Preferences」を選択します。

「Installed JREs」→「Add...」→「Standard VM」を選択します。

「Directory」を押してJDKをフォルダを指定しましょう。
「Finish」を押します。

最期にjdkに切り替えて適用すれば完了です。

mavenビルドでjarの作成
プロジェクト名を右クリック → 「Run As」 → 「maven build...」を押します。

GoalsにPackageと指定して実行しましょう。

プロジェクト名を右クリック → 「Refresh」を選択します。
targetディレクトリ配下にjarファイルが生成されていることを確認できます。

本番環境へのデプロイ
先ほど生成したjarを本番環境の適当な場所に配置しましょう。
以下の様に「java -jar 対象のjar」でtomcatを起動します。
|
# java -jar demo-0.0.1-SNAPSHOT.jar
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.1.2.RELEASE)
2019-01-31 10:41:52.169 INFO 28889 --- [ main] com.example.demo.DemoApplication : Starting DemoApplication v0.0.1-SNAPSHOT on 163-44-175-157 with PID 28889 (/opt/spring/demo-0.0.1-SNAPSHOT.jar started by root in /opt/spring)
2019-01-31 10:41:52.173 INFO 28889 --- [ main] com.example.demo.DemoApplication : No active profile set, falling back to default profiles: default
2019-01-31 10:41:55.687 INFO 28889 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)
2019-01-31 10:41:55.772 INFO 28889 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2019-01-31 10:41:55.773 INFO 28889 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.14]
2019-01-31 10:41:55.803 INFO 28889 --- [ main] o.a.catalina.core.AprLifecycleListener : The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib]
2019-01-31 10:41:56.038 INFO 28889 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2019-01-31 10:41:56.038 INFO 28889 --- [ main] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 3666 ms
2019-01-31 10:41:56.614 INFO 28889 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
2019-01-31 10:41:57.146 INFO 28889 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''
2019-01-31 10:41:57.150 INFO 28889 --- [ main] com.example.demo.DemoApplication : Started DemoApplication in 6.423 seconds (JVM running for 7.501)
|
「ドメイン名:8080」にアクセスすることで、画面が表示されます。
※Apacheとの連携は別記事を参照
// TODO リンク張る予定