久しぶりにRDBMSを扱う仕事をすることになり今更ながら Execute Query を使おうと思い立つ。
なお自分のメイン環境は今のところ64bit版Windows且つ64bit版jvm。
以下はすべて64bit版Windows環境での話。macOS、Linuxそして32bit版Windowsの方は特に悩むこともなくExecute Queryライフを送ってください。
Execute Queryのパッケージ(今回はexecutequery-v4.3.3.zip)をダウンロード・展開した後「eq.exe」を実行するも「The registry refers to a nonexistent Java Runtime Environment installation or the runtime is corrupted.」などというエラーに遭遇。
検索するとやたらとMinecraftでの症例がヒットするがまああまり役に立たない。
似た事例に遭遇したことはあったのでまずは試しにコマンドラインにてjavaコマンドを使って直接「eq.jar」を叩いてみる。
無事に起動。
というわけでこの症例は 64bit版jvm だと発生すると言うことでほぼ確定。
Execute Queryのサイトに記述があるがWindows環境でexeファイルに見立てて起動する処理のために Launch4j を使用しているとのこと。
Launch4jのサイトを見ると32bit/64bitの両環境に対応していると書かれている。
で、起動しないと言うことはExecute Queryに同梱されているexeを作成したときのLaunch4jが古く32bit環境にしか対応していないと推測される。
ところで自分の場合はeq.jarを直接起動する運用で別に困りはしない。
だが、せっかくなのでLaunch4jを使ったexeファイルの作成に挑戦してみる。
まずはLaunch4jのパッケージ(今回はlaunch4j-3.9-win32.zipを使用)をサイトからダウンロードして任意のフォルダへ展開する。
そしてLaunch4jの機能をいきなり体験できるのだけれど展開したフォルダ内にある「Launch4j.exe」を実行。
するとLaunch4jコンパイラに渡す設定ファイルを作成するエディタが起動する。
ここに次の図のように(1)へ「exeファイル名」、(2)へ「起動するjarファイル名」を入力し、(3)のチェックボックスをチェックする。
なお(3)のチェックボックスをチェックしなければjarファイルを含めた状態のexeファイルを生成することができる。この場合は(2)に入力するjarファイルはビルド済みの実体のファイルを指すようにすること。なおパスを含めて指定可能。
生成後のexeファイルにアイコンを指定したい場合は(4)へアイコンファイルへのパスを入力する。
次に「JRE」タブへ切り替えて実行環境の下限バージョンを(1)へ上限バージョンを(2)へ入力する。
Execute Queryをソースからビルドする際にはJava 7以上が必要なようなのでここではMin JREも合わせている。
ここまで設定できたらツールバーにあるフロッピーディスク(!)のアイコンをクリックしてファイルを保存する。
今回は「config.xml」として保存したものとして説明を続ける。
config.xmlを保存できたら、コマンドラインでxmlファイルを引数としてLaunch4jコンパイラを起動する。(ツールのフォルダへパスを通すと言った説明は省略)
launch4jc.exe config.xml
設定内容に問題がなければあっさりとeq.exeが生成されていることと思う。
生成されたeq.exeを元のExecute Queryのeq.exeと差し替えて実行する…無事に起動!
お疲れ様でした。