What's?
開発で使うツールやタスクランナーとして、miseが便利なようです。
せっかくなので、Nablarchのブランクプロジェクトをお題にしてmiseの使い方を覚えてみようと思います。
mise.toml
miseでは、mise.tomlというファイルを作成することで使用するツールの定義などを行えます。
有効なファイル名のルールはいろいろあります。
- mise.local.toml
- mise.toml
- .mise.toml
- mise/config.toml
- .mise/config.toml
- .config/mise.toml
- .config/mise/config.toml
- .config/mise/conf.d/*.toml
miseで始まるパスは、先頭に.をつけることができるようです。たとえばmise.tomlは.mise.tomlとしても有効です。
設定内容は、各階層の内容をマージしていきます。
現在有効な設定ファイルはmise configで確認できます。
PS > mise config
Path Tools
C:\Users\user\.config\mise\config.toml java, maven, python
開発ツールの設定はこちらです。
Configuration / Configuration Hierarchy / [tools] - Dev tools
こういうのですね。
[tools]
node = '20'
python = '3.10'
タスク定義
miseではタスク管理もできます。
tasks.[タスク名]でタスクを定義できます。
[tasks.build]
description = "Build the CLI"
run = "cargo build"
タスクの依存関係も定義できたりします。
このあたりを試してみたいと思います。
環境
今回の環境はこちらです。
PS > mise --version
_ __
____ ___ (_)_______ ___ ____ ____ / /___ _________
/ __ `__ \/ / ___/ _ \______/ _ \/ __ \______/ __ \/ / __ `/ ___/ _ \
/ / / / / / (__ ) __/_____/ __/ / / /_____/ /_/ / / /_/ / /__/ __/
/_/ /_/ /_/_/____/\___/ \___/_/ /_/ / .___/_/\__,_/\___/\___/
/_/ by @jdx
2026.2.18 windows-x64 (2026-02-21)
PS > [System.Environment]::OSVersion
Platform ServicePack Version VersionString
-------- ----------- ------- -------------
Win32NT 10.0.26200.0 Microsoft Windows NT 10.0.26200.0
PS > $PSVersionTable.PSVersion
Major Minor Build Revision
----- ----- ----- --------
5 1 26100 7705
miseのツールはJava 21とApache Maven 3.9.12をインストールしています。
PS > mvn --version
Apache Maven 3.9.12 (848fbb4bf2d427b72bdb2471c22fced7ebd9a7a1)
Maven home: C:\Users\user\AppData\Local\mise\installs\maven\3.9.12\apache-maven-3.9.12
Java version: 21.0.10, vendor: Eclipse Adoptium, runtime: C:\Users\user\AppData\Local\mise\installs\java\temurin-21.0.10+7.0.LTS
Default locale: ja_JP, platform encoding: UTF-8
OS name: "windows 11", version: "10.0", arch: "amd64", family: "windows"
Nablarchのブランクプロジェクトを作成する
ひとまずプロジェクトがないと始まりません。ブランクプロジェクトを作成しましょう。
コマンドはこちらで。
PS > mvn archetype:generate `
"-DinteractiveMode=false" `
"-DarchetypeGroupId=com.nablarch.archetype" `
"-DarchetypeArtifactId=nablarch-web-archetype" `
"-DarchetypeVersion=6u3" `
"-DgroupId=com.example" `
"-DartifactId=hello-nablarch-web" `
"-Dversion=0.0.1" `
"-Dpackage=com.example"
プロジェクト内へ移動。
PS > cd .\hello-nablarch-web
ひとまず準備完了です。
mise.tomlを作成する
では、miseの設定をしていきましょう。
ツールを設定する
まずはこんな感じで作成。ツールを指定します。
[tools]
java = "temurin-17"
maven = "3.9.9"
Mavenのバージョンを確認してみましょう。
PS > mvn --version
すると、このプロジェクトを信頼してよいか確認されます。
mise config files in C:\a\hello-nablarch-web are not trusted. Trust them?
Yesを選択すると、Apache Maven 3.9.9とEclipse Temurin 17のインストールが始まります。
最後になにかエラーになりましたが…。
mise WARN bin path does not exist: C:\Users\user\AppData\Local\mise\installs\maven\3.9.9\apache-maven-3.9.9/bin/mvn.exe
openjdk version "17.0.18" 2026-01-20
OpenJDK Runtime Environment Temurin-17.0.18+8 (build 17.0.18+8)
OpenJDK 64-Bit Server VM Temurin-17.0.18+8 (build 17.0.18+8, mixed mode, sharing)
mise 2026.2.18 by @jdx [2/2]
maven@3.9.9 extract apache-maven-3.9.9-bin.tar.gz ✔
java@temurin-17.0.18+8 java -version ✔
mise ERROR failed to rebuild shims
mise ERROR failed rm -rf: C:\Users\user\AppData\Local\mise\shims
mise ERROR アクセスが拒否されました。 (os error 5)
mise ERROR Run with --verbose or MISE_VERBOSE=1 for more information
ただ、動いてはいそうです。
PS > mvn --version
Apache Maven 3.9.9 (8e8579a9e76f7d015ee5ec7bfcdc97d260186937)
Maven home: C:\Users\user\AppData\Local\mise\installs\maven\3.9.9\apache-maven-3.9.9
Java version: 17.0.18, vendor: Eclipse Adoptium, runtime: C:\Users\user\AppData\Local\mise\installs\java\temurin-17.0.18+8
Default locale: ja_JP, platform encoding: Cp1252
OS name: "windows 11", version: "10.0", arch: "amd64", family: "windows"
mise lsで見ると、ちゃんと切り替わっています。
PS > mise ls
Tool Version Source Requested
java temurin-17.0.18+8 C:\\hello-nablarch-web\mise.toml temurin-17
java temurin-21.0.10+7.0.LTS
maven 3.9.9 C:\hello-nablarch-web\mise.toml 3.9.9
maven 3.9.12
設定はこうですね。
PS > mise config
Path Tools
C:\Users\user\.config\mise\config.toml java, maven
C:\hello-nablarch-web\mise.toml java, maven
タスクを定義する
次はタスクを定義してみます。
ちょっと強引ですが、こんな定義にしてみました。
[tools]
java = "temurin-17"
maven = "3.9.9"
[env]
MAVEN_OPTS="--add-opens java.base/java.lang=ALL-UNNAMED"
[tasks.gsp-build]
run = "mvn -P gsp clean generate-resources"
[tasks.build]
run = "mvn clean compile"
depends = ["gsp-build"]
[tasks.test]
run = "mvn clean test"
depends = ["gsp-build"]
[tasks.package]
run = "mvn clean package"
depends = ["gsp-build"]
各タスクはgsp-buildタスクに依存させています。
[tasks.gsp-build]
run = "mvn -P gsp clean generate-resources"
[tasks.build]
run = "mvn clean compile"
depends = ["gsp-build"]
また環境変数も定義しておきました。
[env]
MAVEN_OPTS="--add-opens java.base/java.lang=ALL-UNNAMED"
定義したタスクは、mise tasksで一覧表示できます。
PS > mise tasks
Name Description
build
gsp-build
package
test
depsを追加することでタスクの依存関係を見ることもできます。
PS > mise tasks deps
build
└── gsp-build
gsp-build
package
└── gsp-build
test
└── gsp-build
個々に表示もできます。
PS > mise tasks build
Task: build
Description:
Source: C:\\hello-nablarch-web\mise.toml
Depends on: gsp-build
Run:
mvn clean compile
Usage Spec:
name build
bin build
PS > mise tasks deps build
build
└── gsp-build
実行してみましょう。
タスクを指定せずにmise runとすると、どのタスクを実行するのか聞かれます。
PS > mise run
Tasks
Select a task to run
❯ build
gsp-build
package
test
/
esc clear filter • enter confirm
今回はそのままbuildを選択。
すると、依存関係どおりにタスクが実行されました。
Tasks build
[gsp-build] $ mvn -P gsp clean generate-resources
...
[build] $ mvn clean compile
...
タスクを指定しての実行もできます。
PS > mise run gsp-build
PS > mise run test
雰囲気はわかりましたね、こんなところでしょうか。