[Java][Spring] EclipseでSpringのJARファイルを作成してバッチ処理を行う。

2016.08.06

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

現在、ある目的のアプリケーションを、Springを使用して作っていて、最終的にはJarファイルをターミナルから実行する形を考えています。
そうなるともちろん、JARの作成方法を知らないといけないので調べて試してみました。
また、複数のJARファイルを順に実行する事も必要なので、バッチ処理を行う方法も調べましたので、備忘録として記しておきます。

環境

Mac OSX 10.10.5 Yosemite
Java 8
Spring Boot 1.3.7
Eclipse Mars

手順

JARを作成

build.gradleのjarの項目でファイル名を指定。
make_spring_jar_gradle_jar

プロジェクトを右クリックして、「Run As -> Gradle (STS) Build」を選択。
make_spring_jar_right_click
make_spring_jar_gradle_build

タブ「Gradle Task」に「build」と記述し、「RUN」を押下。
スクリーンショット 2016-08-06 15.44.20

完了すると、フォルダ「build」の中にフォルダとファイルが作成され、「libs」の中にJARファイルが作成されます。
make_spring_jar_directory

実行確認

ターミナルから実行します。

$ java -jar ディレクトリ名/JARファイル名

こんな画面が表示されてアプリケーションが実行されます。

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v1.3.7.RELEASE)

Mac用バッチファイルの作成

Windows用バッチファイルは「ファイル名.bat」の様ですが、Mac用は「ファイル名.command」となります。
改行コードはUnix(LF)じゃないとダメらしいのでMacで作成します。

適当なフォルダにvimでファイルを作成し、

$ vim test.command

JARを実行順に追記します。

#!/bin/bash
java -jar ディレクトリ名/demo-0.0.1-SNAPSHOT_1.jar
java -jar ディレクトリ名/demo-0.0.1-SNAPSHOT_2.jar

このままcommandファイルを実行しようとしても下記の様に権限がないのでエラーが発生します。

$ ls -l
-rw-r--r--  1 ユーザー名  staff        86  8  6 17:38 test.command

権限を追加します。

$ chmod 744 test.command

実行確認

アプリケーションの実行画面が出れば成功です。

$ ディレクトリ名/test.command

さいごに

一つのJARファイルで全ての流れを作るとコードが複雑になりますし、段階を踏んで実行したい場合にはバッチファイルを作成すると便利なんじゃないかと思います。