かんがるーさんの日記

最近自分が興味をもったものを調べた時の手順等を書いています。今は Spring Boot をいじっています。

Spring Boot 1.2.x の Web アプリを 1.3.x へバージョンアップする ( その9 )( jar ファイルを作成して動作確認する )

概要

Spring Boot 1.2.x の Web アプリを 1.3.x へバージョンアップする ( その8 )( excludeDevtools オプションを指定して jar ファイルには devtools を入れないようにする ) の続きです。

  • 今回の手順で確認できるのは以下の内容です。
    • jar ファイルを作成して動作確認する。

参照したサイト・書籍

目次

  1. logback-unittest.xml の記述を修正する
  2. jar ファイルを作成、配置する
  3. サービスに登録する
  4. 動作確認
  5. サービスから削除する
  6. .gitignore に out ディレクトリを追加する
  7. GitHub へ Push、1.1.x-springboot-1.2-to-1.3 -> 1.1.x へ Pull Request、1.1.x でマージ、1.1.x-springboot-1.2-to-1.3 ブランチを削除
  8. 次回は。。。

手順

logback-unittest.xml の記述を修正する

logback-unittest.xml の root の設定の書き方が logback-develop.xml, logback-product.xml と異なることに気付いたので変更します。

<?xml version="1.0" encoding="UTF-8"?>
<included>
    <root level="OFF"/>
</included>
  • <logger name="root" level="OFF"/><root level="OFF"/> へ変更します。

jar ファイルを作成、配置する

clean タスク実行 → Rebuild Project 実行 → build タスク実行します。

C:\project-springboot\ksbysample-webapp-lending\build\libs の下に ksbysample-webapp-lending-1.1.0-RELEASE.jar が作成されますので、C:\webapps\ksbysample-webapp-lending\lib の下に配置します。

サービスに登録する

コマンドプロンプトを「管理者として実行...」モードで起動した後、以下のコマンドを実行します。

> cd /d C:\webapps\ksbysample-webapp-lending\nssm
> nssm.exe install ksbysample-webapp-lending

「NSSM service installer」画面が表示されます。以下の画像の値を入力した後、「Install service」ボタンをクリックします。サービスの登録に成功すると「Service "ksbysample-webapp-lending" installed successfully!」のダイアログが表示されますので「OK」ボタンをクリックします。

f:id:ksby:20160327200842p:plain

  • 「Path」に C:\webapps\ksbysample-webapp-lending\bat\webapp_startup.bat を入力します。
  • 「Startup directory」に C:\webapps\ksbysample-webapp-lending\bat を入力します。

動作確認

  1. 動作確認前に DB のデータを以下の状態にします。

    • user_info, user_role テーブルのデータは開発時のままにします。
    • lending_app, lending_book, library_forsearch テーブルのデータはクリアします。
  2. サービス画面を開きます。サービス一覧から「ksbysample-webapp-lending」を選択し、「サービスの開始」リンクをクリックしてサービスを開始します。

    f:id:ksby:20160618212436p:plain

    f:id:ksby:20160618212620p:plain

  3. C:\webapps\ksbysample-webapp-lending\logs の下の ksbysample-webapp-lending.log をエディタで開き、最後に "Started Application in ..." のログが出力されていることを確認します。

  4. メールを受信するので smtp4dev を起動します。

  5. 以下の手順で動作確認します ( 画面キャプチャは省略します )。

    • ブラウザを起動して http://localhost:8080/ にアクセスしてログイン画面を表示します。tanaka.taro@sample.com / taro でログインします。
    • 検索対象図書館登録画面が表示されます。"東京都" で検索した後、一覧表示されている図書館から「国立国会図書館東京本館」を選択します。
    • ログアウトします。
    • ログイン画面に戻るので suzuki.hanako@test.co.jp / hanako でログインします。
    • 貸出希望書籍 CSV ファイルアップロード画面が表示されます。以下の内容が記述された CSV ファイルをアップロードします。

      "ISBN","書名"
      "978-4-7741-6366-6","GitHub実践入門"
      "978-4-7741-5377-3","JUnit実践入門"
      "978-4-7973-8014-9","Java最強リファレンス"
      "978-4-7973-4778-4","アジャイルソフトウェア開発の奥義"
      "978-4-87311-704-1","Javaによる関数型プログラミング"

    • 「貸出状況を確認しました」のメールが送信されるので、メールに記述されている URL にアクセスします。
    • 貸出申請画面が表示されます。3冊程「申請する」を選択して申請します。
    • ログアウトします。
    • 「貸出申請がありました」のメールが送信されるので、メールに記述されている URL にアクセスします。ログイン画面が表示されるので、tanaka.taro@sample.com / taro でログインします。
    • 貸出承認画面が表示されます。「承認」あるいは「却下」を選択して確定させます。
    • ログアウトします。
    • 「貸出申請が承認・却下されました」のメールが送信されるので、メールに記述されている URL にアクセスします。ログイン画面が表示されるので、suzuki.hanako@test.co.jp / hanako でログインします。
    • 貸出申請結果確認画面が表示されるので内容を確認します。

    動作確認は特に問題ありませんでした。画面の操作は前と同じだったので Geb ( http://www.gebish.org/ ) とかで自動入力できると便利なのかもしれません。

  6. smtp4dev を終了します。

  7. サービス画面で「ksbysample-webapp-lending」サービスを停止します。

サービスから削除する

サービスを削除します。管理者モードで起動しているコマンドプロンプトから以下のコマンドを実行します。

> nssm.exe remove ksbysample-webapp-lending

「Remove the service?」のダイアログが表示されますので、「はい」ボタンをクリックします。サービスが削除されると「Service "ksbysample-webapp-lending" removed successfully!」のダイアログが表示されますので「OK」ボタンをクリックします。

.gitignore に out ディレクトリを追加する

IntelliJ IDEA のメインメニューから「Build」-「Rebuild Project」実行を実行すると out ディレクトリができることに気付きました。

f:id:ksby:20160620002925p:plain

Git の対象外にしたいので .gitignore を以下のように変更します。

# built application files
*.apk
*.ap_

# files for the dex VM
*.dex

# Java class files
*.class

# generated files
bin/
gen/

# Local configuration file (sdk path, etc)
local.properties

# Eclipse project files
.classpath
.project

# Proguard folder generated by Eclipse
proguard/

# Intellij project files
*.iml
*.ipr
*.iws
.idea/
out/

#Gradle
.gradletasknamecache
.gradle/
build/
bin/

#カーリル図書館API用設定ファイル
calilapi.properties
  • out/ を追加します。

GitHub へ Push、1.1.x-springboot-1.2-to-1.3 -> 1.1.x へ Pull Request、1.1.x でマージ、1.1.x-springboot-1.2-to-1.3 ブランチを削除

GitHub へ Push、1.1.x-springboot-1.2-to-1.3 -> 1.1.x へ Pull Request、1.1.x でマージ、1.1.x-springboot-1.2-to-1.3 ブランチを削除します。

1.1.x -> master へもマージします。

次回は。。。

あとは大目次を作成して、感想を書いて完了させる予定です。

また JetBrains の Webサイトを見に行ったら INTELLIJ IDEA 2016.2 PREVIEW というページが出来ていました。なんかいろいろ強化されていそうで楽しみです。

ソースコード

履歴

2016/06/20
初版発行。