Java 9のJShellでデフォルトエディタを変更する方法
JShellは、Java 9から導入されたREPL(Read-Evaluate-Print Loop)ツールです。コマンドラインからコードを読み込み、入力されたスニペットを評価し、その結果を画面に出力してくれます。
JShellのデフォルトエディタを変更する手順
JShellでは、デフォルトの「JShell Editor Pad」を使ってコードを編集できます。さらに、「/set」コマンドを使用すれば、デフォルトエディタを別のものに変更することも可能です。「/edit」コマンドを実行すると、設定されたエディタが起動されます。エディタを変更するには、次のコマンドを実行します。
/set editor [editor]
メモ帳(Notepad)をデフォルトエディタに設定する例
例えば、Windowsのメモ帳(Notepad)をコード編集用のデフォルトアプリケーションとして設定したい場合は、以下のようにコマンドを入力するだけです。
jshell> /set editor | /set editor -default jshell> int i = 20 i ==> 20 jshell> double j = 30.0 j ==> 30.0 jshell> /set editor notepad.exe | Editor set to: notepad.exe jshell> /edit
この状態で「/edit」コマンドを実行すると、コマンドプロンプトに入力したコードを編集するために、以下のようにメモ帳アプリケーションが開きます。

存在しないエディタを設定した場合の挙動
注意点として、存在しないプログラムや誤ったパスを指定してJShellのエディタを変更した場合、「/edit」コマンドの実行直後にはエラーメッセージは表示されません。実際にエディタを開こうとした時点で、初めてエラーが出力されます。
jshell> /set editor emacs
| Editor set to: emacs
jshell> /set editor
| /set editor emacs
jshell> /edit
| Edit Error: process IO failure: Cannot run program "emacs": CreateProcess error=2,
The system cannot find the file specified
このように、エディタの設定自体は成功したように見えても、実際に起動可能なプログラムかどうかは「/edit」コマンドを実行するまで確認できません。正しいパスと実行ファイル名を指定することが重要です。
-
Java 9のJShellで例外はどう扱われる?自動キャッチの仕組みと具体例
JShellとはJava 9で導入されたJShellは、Java言語の機能や豊富なライブラリを素早く探索・発見・実験できる、高速で使いやすい対話型環境(REPL)です。コードを1行ずつ入力して即座に結果を確認できるため、学習やプロトタイピングに最適なツールといえます。JShellにおける例外処理の仕組み通常のJavaプログラムでは、try-catchブロックなどを使って例外を明示的に捕捉する必要があります。しかし、JShellでは例外を手動でキャッチする必要がありません。JShellは発生した各例外を自動的にキャッチし、例外の種類やメッセージなどの情報を表示した後、次のJShellプロンプトを
-
JacksonでJSONパーサーのデフォルト設定を確認する方法(Java)
JSONパーサーのすべてのデフォルト設定は、JsonParser.Feature列挙型で表現できます。JsonParser.Feature.values()メソッドを呼び出すと、JSONパーサーで利用可能なすべての機能(フィーチャー)の一覧を取得できます。さらに、特定のパーサーにおいて各機能が有効か無効かを判定するには、JsonParserのisEnabled()メソッドを使用します。構文public static enum JsonParser.Feature extends Enum<JsonParser.Feature>使用例以下のコードでは、JsonFactoryからJso