!Synthesijerをsbtで Synthesijerをsbtに移行. ついでにsbt-assemblyを使って生成するJarにスクリプトを仕込んでみた. @ 2>/dev/null # 2>nul & echo off & goto BOF : LANG=en_US.UTF-8 LANG=en_US.UTF-8 exec java -jar $JAVA_OPTS "$0" "$@" exit :BOF java -jar %JAVA_OPTS% "%~dpnx0" %* exit /B %errorlevel% 改行コードを混在させつつ,シェルスクリプトとバッチファイルを共存させる仕組み,面白い. ちなみに,オリジナルは,↓で, https://github.com/sbt/sbt-assembly/blob/master/src/main/scala/sbtassembly/AssemblyPlugin.scala LANGとLC_ALLの指定をしたかったので,上記で上書きした. snap化したときには,これだとjavaがみつからないので, LANG=en_US.UTF-8 LANG=en_US.UTF-8 exec $SNAP/usr/lib/jvm/java-11-openjdk-amd64/bin/java -jar $JAVA_OPTS "$0" "$@" とか. ::結局 上記でも,snapでインストールした場合に, miyo@tama:% synthesijer Test001.java Test001.java:1: error: cannot access unnamed package import synthesijer.rt.*; ^ error accessing directory /home/miyo/work/synthesijer/synthesijer/sample/testjava.nio.file.InvalidPathException: Malformed input or input contains unmappable characters: ???????????? 1 error 同じディレクトリに日本語ファイルがある場合に,例外が発生することにかわりはなかった. ::結局(2) EnvironmentでLANGとLC_ALLを指定したら, 同じディレクトリに日本語ファイルがある場合にも, うまく処理できるようになった.