2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

openjdk 25 で nis1 をビルドしてみた

2
Last updated at Posted at 2026-09-26

背景

nis1をややスペックの心もとないサーバーで動かしていたところ、レスポンスがときどき遅延する。
Javaアプリの Stop the world に関連するものではないかと疑った。
OpenJDK 11 ビルドによる nis1 を 直近の OpenJDK 25 でビルドしたらいい具合に解消するのではないかと考えた。
結果、レスポンス速度が改善した。
ただし、根本的にはCPUやメモリの向上した機器に交換していく必要がある。あくまで一時しのぎ。

方針

nis1ソースには手を入れず、ビルドが通るようビルド設定に最低限の修正を入れた。

参考 https://qiita.com/curupo/items/63083ff2ae9d887850b7

稼働中のnis1プロセスを停止

ps aux | grep java
kill <PID>

現行のJDKをアンインストールし最新のJDKをインストールする

ps aux | grep java
sudo apt remove openjdk*
sudo apt update
sudo apt install openjdk-25-jdk
java -version
javac -version

ビルドに必要なコマンドをインストール

sudo apt install maven git
mvn -version
git -v

テンポラリで作業する(お好みです)

mkdir -p /tmp/build
cd /tmp/build

本家からフォークしたものに修正を入れています。(差分)
JDK25ビルド版をクローンしてチェックアウトしてください。

git clone https://github.com/curupo/nem.git
cd nem/
git branch
git checkout -b feature/openjdk-25 origin/feature/openjdk-25
git branch

ビルドします。通るはず…

mvn clean package -DskipTests

jarファイルができたか確認

ls core/target/*.jar
ls peer/target/*.jar
ls deploy/target/*.jar
ls nis/target/*.jar

名前を揃える

cp nis/target/nem-infrastructure-server-0.6.102.jar nis/target/nem-0.6.102.jar

パッケージするための事前準備

cd /tmp/build/nem/infra
rm -rf package/libs/*
rm -f package/nis/*.jar

パッケージするための準備

cp ../nis/target/libs/*.jar package/libs/
cp ../nis/target/nem-0.6.102.jar package/nis/
cp ../core/target/nem-core-0.6.102.jar package/nis/
cp ../peer/target/nem-peer-0.6.102.jar package/nis/
cp ../deploy/target/nem-deploy-0.6.102.jar package/nis/

必要なファイルがあるか確認

ls package/nis/config.properties
ls package/nis/db.properties
ls package/nis/logalpha.properties

パッケージ化をして完了

tar czf nis-0.6.102-jdk25ver.tgz package

あとはいつもどおり、お好きな場所に展開し

mv nis-0.6.102-jdk25ver.tgz /tmp
cd /tmp
mkdir /tmp/jdk25ver
tar xzf nis-0.6.102-jdk25ver.tgz -C /tmp/jdk25ver
cd /tmp/jdk25ver/package

実行権限付与

chmod +x nix.runNis.sh

メモリ値を適宜修正して nohup と & をつけるやつです。

vim ./nix.runNis.sh

適宜設定を編集

cd /tmp/jdk25ver/package
vi nis/config-user.properties

起動

./nix.runNis.sh

起動確認

ps aux | grep java
curl localhost:7890/chain/height | jq
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?