hmJavaVM (Java Virtual Machine in 秀丸マクロ)

(2022/03/07現在、このコンポーネントは、Oracle Java9以降の有償・無償の迷走もあり、deprecated[非推奨]扱いとしています)

秀丸マクロと「Java Virutal Machine」をシームレスに結合するためのライブラリです。

秀丸マクロとJavaの連携

  • 利用者が多いJava言語

    「Windowsのデスクトップという分野」という限った視点だと、人気の無い「Java」ですが、
    人気プログラミング言語別でみると、例年トップシェアを誇っています。
    「業務アプリケーション」や「Androidアプリケーション」の分野を主軸に利用されていることもあり、
    「Java言語はそれなりに知っている」という人が多いのも事実です。

  • 秀丸マクロとJavaプラットフォームをシームレスに

    そこで、秀丸マクロのほとんどをJavaで書きやすくしようというのが、このライブラリの目的となります。

    秀丸マクロのシンボルや変数をJavaからシームレスに読み書きできるようにし、
    Java側からも秀丸マクロの命令が実行可能となっています。

ダウンロード

Windowsのbit数ではなく、秀丸のビット数 Windows OSが64bit版か32bit版かは関係ありません。秀丸エディタが32bit版か64bit版かでダウンロード対象を選択してください。

動作環境

  • 秀丸

    秀丸エディタ ver8.73以上

  • 秀丸エディタ 64bit版について

    秀丸エディタ64bit版をご利用の方は、hmJavaVM_x64.zipをダウンロードし、hmJavaVM.dllを差し替えてください。

  • Java Platform 8系

    • OracleベースのJava8ならどこから入手してもOK

      例えば、「Java Platform、Standard Edition 8」や、「Java SE Development Kit 8」など。
      Oracle系から直接ダウンロードするものに限らず、EclipseやPleiadesに含まれているJDKでも、
      それが「8系」であれば動作します。

    • ターゲットはJava8系のみ。Java9系以降は動作せず

      現在Java Platform 9系以降では動作しません。
      hmJavaVMだから特別に動作しない、といったことなのではなく、
      Java8とJava9では、「.class」や.「jar」等、クラスファイル群の「遅延ロード周辺に関わるクラスの関係図」が変更されたためです。
      (Jigsawといわれる仕組みがJava9で導入されたことによるクラス階層変更)

      又、そもそも論で、秀丸エディタの通常版は32bit(x86)ですが、Java9はそもそも32bit版が配布されていません。

    • JVMの入手場所
      • 一番のおすすめは、開発環境ごとPleiadesを導入することです
        詳細はEclipseの導入 となります。

        PICTURE


        「pleiades\java\8」以下のフォルダー(JDK1.8フォルダーに相当する)まるまるをコピーし、開発環境と秀丸の実行環境を分離してもOKです。

        この方法は、hmJavaVMが利用するJavaを、「専用物として隔離」できるので、
        「バージョンの更新」の影響を避けることが出来る点で結構お勧めです。
        Pleiades Windows 秀丸エディタが32bit版の人は、Pleiadesも32bit版を、
        秀丸エディタ 64bit版の人は、Pleiadesも64bit版をダウンロードのこと。
        OSのビット数は関係ありません。秀丸エディタのビット数が問題となります。
      • これ以外の実行環境の入手としては、Java8を、
        http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.htmlにて、
        Java8系の全てのリリースバージョンがダウンロード可能です。
        (無料でその場で登録可能なオラクルのアカウントが必要です)

      • OpenJDKから、Java8を入手しても良いでしょう
        https://www.openlogic.com/openjdk-downloadsにて、
        「java 8 8u262-b10 Windows x86 32-bit JDK」がダウンロード可能です。
        (秀丸の64bit editionを使っているなら、x64をダウンロードすること)

  • 秀丸エディタ ストアアプリ版について

    hmJavaVMはストアアプリ版には対応していません。

    hmJavaVMによく似たモジュールとして、「hmPy/hmRb/hmPS/hmJS/hmPython/hmPerl」があり、
    これらはストアアプリ版でも動作しますので、そちらの利用をお勧めします。

インストール

  • hmJavaVM.zipを解凍する。
  • 「hmJavaVM.dll」「hmJavaVM.jar」「hmJavaVM.xml」を秀丸エディタのディレクトリ内(hidemaru.exeと同じ場所)へと コピーする。
    ( 原則、hidemaru.exeと同じ場所においておく必要性があります。 )

hmJavaVM.xmlの編集

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>
UAC下に秀丸をインストールしている方へ秀丸エディタを「C:\Program File (x86)\Hidemaru」下など特殊なフォルダにそのままインストールしている人は、
注意を要するかもしれません。
「hmJavaVM.xml」を書き換えているつもりが、Vistual Storeが働いて、別のファイルを書き換えている可能性があります。
一度、「C:\work\hmJavaVM.xml」などにファイルをコピーしてみて、本当に中身が変わっているか、
確認してみてください。

ライセンス

  • hmJavaVM

    hmJavaVMは、Apache License 2.0となります。

    ソースの場所

    • Githubにソースがあります。