0
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?

Nablarchのブランクプロジェクトで覚えるmiseの使い方

0
Posted at

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の設定をしていきましょう。

ツールを設定する

まずはこんな感じで作成。ツールを指定します。

mise.toml
[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

タスクを定義する

次はタスクを定義してみます。

ちょっと強引ですが、こんな定義にしてみました。

mise.toml
[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

雰囲気はわかりましたね、こんなところでしょうか。

0
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
0
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?