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

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

  • 秀丸マクロとJavaの連携

    • 利用者が多いJava言語

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

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

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

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

  • ダウンロード

    hmJavaVM.zipファイル。ver 1.321
    └更新日 2017/07/12
  • 動作環境

    • 秀丸

      秀丸エディタ ver8.66以上

    • 秀丸エディタ 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」等、クラスファイル群の「遅延ロード周辺に関わるクラスの関係図」が変更されたためです。

      • JVMの入手場所
        • Java最新版は「https://java.com/ja/download/」からダウンロード可能です。

        • 該当URLがJava9以降になってしまったとしても、
          http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.htmlにて、
          Java8系の全てのリリースバージョンがダウンロード可能です。
          (無料でその場で登録可能なオラクルのアカウントが必要です)

        • オラクルのサイト以外でも、EclipseやPleiadesなどから入手しても良いでしょう。
          例えば、Pleiades32bit版(※)をダウンロードし、
          「pleiades\java\8」以下のフォルダー(JDK1.8フォルダーに相当する)まるまるをコピーし、秀丸専用としてどこか適当なディレクトリに設置してもOKです。

          この方法は、hmJavaVMが利用するJavaを、「専用物として隔離」できるので、
          普段ご利用のブラウザなどが利用するJavaの「バージョンの更新」の相互影響を避けることが出来る点で結構お勧めです。
          (※hmJavaVMが64bitの人は、Pleiadesも64bit版をダウンロードのこと)
    • 秀丸エディタ ストアアプリ版について

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

      hmJavaVMによく似たモジュールとして、「hmPy/hmRb/hmPS/hmJS/hmLoadCLR/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にソースがあります。