(2022/03/07現在、このコンポーネントは、Oracle Java9以降の有償・無償の迷走もあり、deprecated[非推奨]扱いとしています)
秀丸マクロと「Java Virutal Machine」をシームレスに結合するためのライブラリです。
「Windowsのデスクトップという分野」という限った視点だと、人気の無い「Java」ですが、
人気プログラミング言語別でみると、例年トップシェアを誇っています。
「業務アプリケーション」や「Androidアプリケーション」の分野を主軸に利用されていることもあり、
「Java言語はそれなりに知っている」という人が多いのも事実です。
そこで、秀丸マクロのほとんどをJavaで書きやすくしようというのが、このライブラリの目的となります。
秀丸マクロのシンボルや変数をJavaからシームレスに読み書きできるようにし、
Java側からも秀丸マクロの命令が実行可能となっています。
秀丸エディタ ver8.73以上
秀丸エディタ64bit版をご利用の方は、hmJavaVM_x64.zipをダウンロードし、hmJavaVM.dllを差し替えてください。
例えば、「Java Platform、Standard Edition 8」や、「Java SE Development Kit 8」など。
Oracle系から直接ダウンロードするものに限らず、EclipseやPleiadesに含まれているJDKでも、
それが「8系」であれば動作します。
現在Java Platform 9系以降では動作しません。
hmJavaVMだから特別に動作しない、といったことなのではなく、
Java8とJava9では、「.class」や.「jar」等、クラスファイル群の「遅延ロード周辺に関わるクラスの関係図」が変更されたためです。
(Jigsawといわれる仕組みがJava9で導入されたことによるクラス階層変更)
又、そもそも論で、秀丸エディタの通常版は32bit(x86)ですが、Java9はそもそも32bit版が配布されていません。
hmJavaVMはストアアプリ版には対応していません。
hmJavaVMによく似たモジュールとして、「hmPy/hmRb/hmPS/hmJS/hmPython/hmPerl」があり、
これらはストアアプリ版でも動作しますので、そちらの利用をお勧めします。
hmJavaVMを開いたら中身は単純なので、一瞬でわかると思いますが、
ここではhmJavaVMで利用する「jvm.dll」を指定します。
(※通常は「***jre\bin\client\jvm.dll」や「***jre\bin\server\jvm.dll」みたいなパターンのパスとなります)
オラクルが配布しているインストーラー経由のものに限らず、EClipseなどに含まれているjdk1.8(jdk8)やjre1.8(jre8)があるのであれば、そのパスを指定してもOKです。
「秀丸エディタ」が32bit版であれば、「hmJavaVM.dll」もx86版、パスも以下のようにx86版のjvm.dllを指定してください。
「秀丸エディタ」が64bit版であれば、「hmJavaVM.dll」もx64版、パスもx64版のjvm.dllを指定してください。
<?xml version="1.0" encoding="utf-8"?> <configuration> <appSettings> <add key="JavaVM_PATH" value="C:\Program Files (x86)\Java\jdk1.8.0_131\jre\bin\client\jvm.dll"/> </appSettings> </configuration>
hmJavaVMは、Apache License 2.0となります。