この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:1
ページ更新者:T
更新日時:2019-01-31 02:03:55

タイトル: 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 リンク張る予定