Spring Boot のビルド方法あれこれ
Spring Boot の起動には基本的に、Maven (または、Gradle) を使用するが、2つのゴールが用意されているので、その使い方などを紹介。
spring-boot:run
Spring Boot アプリケーションを起動するためのゴール。Spring Boot の設定は、Maven の --define
オプションで渡す。
mvn spring-boot:run --define server.port=8011 --define logging.level.org.springframework.web=DEBUG
spring-boot:repackage
Spring Boot アプリケーション パッケージを作成するためのゴール。pom.xml
の packaging
要素での指定により、jar
、または war
のいずれかの成果物を選択できる。packaging
要素を省略した場合は、jar になる。
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.yo1000</groupId> <artifactId>bluefairy</artifactId> <version>0.1.0</version> <packaging>jar</packaging> ... </project>
また、Maven から spring-boot:repackage
を実行する場合には、package
ゴールといっしょに使用する。
mvn package spring-boot:repackage
成果物は {プロジェクト ディレクトリ}/target
に配置される。これを起動する場合は、java
コマンドを使用する。
java -jar bluefairy-0.1.0.jar --server.port=8011 --logging.level.org.springframework.web=DEBUG
成果物まで用意できると、java のみで起動できるようになるので、サーバーのセットアップなども省力化できて、とても良いですね。