Posted at

Spring Bootでwarファイル作成&jarのサービス化

More than 1 year has passed since last update.


spring boot


  • spring-bootの詳しい説明は以下が参考になります

  • spring-boot公式


  • Spring Boot 使い方メモ

    簡単に説明すると設定ファイルがほとんど必要なく、起動もとても簡単なフレームワークという感じでしょうか。

    javaでよく耳にするspringとは別のフレームワークです。

    Mavenビルドするとjarファイルが出来上がり、tomcatなどがjarファイルに組み込み済みなので、そのjarファイル1つで起動することができます。


jarファイル作成

デフォルトではMavenビルドするとjarファイルが作成されるかと思います。

java -jar xxx.jar

というコマンドを打てば、そのjarファイルが起動すると思います。

ただ、jarファイルではなくwarファイルで「作成してtomcatに配置したい」や「サービス化したい」などというときもあるかと思います。

その方法を調べたので、メモしておきます。


warファイル作成

Spring Boot 1.3.0.RELEASE(2016年9月現在最新版は1.4.1)からMavenビルドで

Fully Executable Warとして実行できるようになりました。

今回はそちらを利用します。

pom.xmlに以下を追記します。ポイントはexecutabletrueにするところです。


pom.xml

    <build>

<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
</configuration>
</plugin>
</plugins>
</build>

そしてpom.xmlの上部記載してあるはずのpackagingwarに変更します


pom.xml

    <groupId>com.agetech</groupId>

<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>

この状態でMavenビルドして成功するとwarファイルが作成されていると思います。

(作成されない場合はMaven Updateなどしてみて下さい)


jarのサービス化

方法はとても簡単です。

#シンボリックリンクを設定

ln -s /home/ec2-user/jarファイル名.jar /etc/init.d/jarファイル名

##スタート
service jarファイル名 start

##ストップ
service jarファイル名 stop


参考記事