アップデート方法

Jpsonic ダウンロード(v112.1.1)

Jpsonicのダウンロードとコンパイルに関して記載しています。

Jpsonicのアップデートは簡単です。稼働中のJpsonicを停止し、新しいjpsonic.warと交換して起動するだけです。

Jpsonicの入手方法

現在Jpsonicの配布は2か所で行われています。

Github 旧来のwar形式ファイル。Javaがインストールされていれば、javaコマンドで単体起動が可能です。またTomcat等のアプリケーションコンテナを構築している場合、Webアプリケーションとして配備することができます。
Dockerhub Docker イメージ。全部入り環境です。Dockerがインストールされていれば簡単に起動できます。

旧来のようにwarファイルを単体起動、またはTomcat/Jettyに配備する場合には、Githubから最新版を入手してください。DockerについてはDockerでJpsonicを動かそうという記事をご覧ください。こちらは一度インストールすれば自動アップデートによるメンテナンスフリーが実現可能です。

バージョンの意味と利用方法

セマンティック・バージョニングで管理されています。Webページの通知機能は、メジャー/マイナーの更新のみを行います。

バージョン番号 = [メジャー].[マイナー].[パッチ]

バージョン 頻度 通知 概要
メジャー あり 不可逆なDB設計の変更や後方互換に影響のある変更が含まれます
マイナー 〇か月 あり 機能追加、機能変更、不具合修正、比較的大きなセキュリティ障害の修正
パッチ 月に数度 なし 機能変更を伴わないライブラリ更新やその他の修正

バージョンやビルド番号は起動時のログや「About」から確認が可能です。

コンパイル(開発者向け)

現在はスナップショット版が手軽に利用可能になっています。そのため処理を書き換えて使用したい場合でなければ、あまり重要ではない情報かもしれません。

  • (クラウド上でビルドが公開されてるんですが)自分のコンパイルしたソフトしか信用しない方
  • 処理を書き換えて使用したい方

このような場合、Mavenを使用してコンパイルしてください。git/JDK/Mavenが必要です。

利用可能なコンパイラバージョン

LTSのサポートが基本になります。

「Javaはバージョン互換性が高い」と言われますが、それは文法バージョンのお話です。コンパイラバージョンが異なると、生成されるバイトコードは別物です。上位バージョンではより最適なバイトコードが生成される場合があります。一方そのバージョンより古いJVMで稼働させることはできません。

常に最新に追随し続けるのは負担が大きいため、Javaでは3年おきにLTS(Long Term Support)という長期版がリリースされます。Java11以降は半年毎にメジャーリリースが行われます。(バージョン+6毎=3年毎にLTSバージョンが変わる)

  • Jpsonicでは最新のLTS以降、最新バージョンまで動作確認が行われます。
  • 次期LTSのサポートが開始された時点で、中間バージョンの検証は終了します

JpsonicはJavaで記述されているため、KotlinのようなJavaの派生言語よりも安全かつ早く最新のJDKのバグフィクスや機能改善の恩恵を受けることができます。

コンパイルコマンド
Gitでチェックアウトし、Mavenでコンパイルします。一般的なwar作成と同じです。
以下のオプションを組み合わせて使用します。
オプションの内容 入力するオプション
バージョン サポートバージョンを指定 -Prelease[バージョン]
組み込みコンテナ種別 Jetty -Pjetty-embed
Tomcat -Ptomcat-embed
テスト 実行する オプションをつけない
スキップする -Dmaven.test.skip=true -Dpmd.skip=true

組み込みJetty用のテストスキップコンパイルを行う例は以下の通りです。

LTS以外のバージョンがいつどのようにサポートされるのかはかなり流動的です。Actionsで実稼働しているワークフローを参照してください。

Dockerイメージ作成(開発者向け)

Dockerfileはプロジェクトのinstall/dockerディレクトリに格納されています。

JpsonicのDockerイメージはGithubのワークフロー内で作成することを前提としており、JDK/JREやタグ名は実行時に決定しています(Dockerfileが書き換えられる場合がある)。

ローカルでDockerfileを使用する場合、以下に注意すると良いかもしれません。

  • DockerfileはJDKを使用しています。JREを使用したい場合書き換えです
  • jpsonic.warをCOPYしている行に注意してください。ワークフロー内で、単体テスト等の前工程が全て完了した場合に、実際に配布が行われるjpsonic.warバイナリをDockerイメージにコピーする前提になっています。ローカルで使用する場合、事前に作成したjpsonic.warのファイルパスと合わせる必要があります

Dockerコマンドで直接作成も可能ですが、以下のようにMavenを利用することも可能です。

更新履歴

この記事を書き換えたときに以下に追記します。

112.1.1
Dockerが整備されたため「Jpsonicの入手方法」を修正
情報が細かすぎるので「バージョン管理詳細(開発者向け)」を削除
v111.4.0
Docker導入にともない「バージョン管理詳細」と「Dockerイメージ作成」を追記
v111.0.0
「Jpsonicをコンパイルする方法 (v110.0.0)」を併合し、記事内容を圧縮
コメントはまだありません

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

アップデート方法
Jpsonic 更新履歴

直近数バージョンの変更点が記載されています。全ての履歴はCHANGELOGに記載があります。