decadence

個人のメモ帳

maven-runner: Easy jar executor

maven-runner

なるものを書いてみた f:id:krrrr:20150927234450p:plain

github.com

何これ

Spring Boot一部界隈では流行ってる風に見えますね。SpringBootでアプリを作りパッケージングすると、自身のMaven Repositoryにjava -jarで実行可能なjarファイルがアップロードされる。 これを実行するには、jarを手元に持ってきて、実行...という流れになるのだが、適当にmaven centralなどからcurlで落としてきても、毎度URLを調べる事になるし、checksumなどファイルの整合性はチェックされない。 もちろんGitHubのreleasesページにCIを回す毎にjarをアップロードしたりしても良いが、jarを手元に持ってくるのにブラウザ上でボタンをポチポチしなくてはならない。

今回作ったmaven-runnerは、Maven Repositoryにあるjarファイルを整合性を加味しながら1つのコマンドで実行までしてくれるものである。もちろんローカルにjarがある場合にはMavenRepositoryからダウンロードしたりはしないし、versionを指定しない場合には最新版のjarを実行してくれる。当然ではあるが実行可能でないjarファイルは対象外。

云々

golang久し振りに書いたし、思いつきでさっと書いたものだし、本当に必要になったらテスト書いたりgoxcでbinaryあげたりSNAPSHOT対応したりちゃんとしよ...気が向いたら。

Webアプリケーション的にHotDeployとかするのに子プロセスになって面倒とかあるけど、actuatorとか使ってローリングデプロイとかして頑張る感じで😇そもそも別にSpringBoot以外のスクリプト的なjarも対象にしたものなので。