ImageJをソースからビルドしてみます。ソースを改変して自分専用のImageJを作ったり、今は無き32ビット版ImageJを作成することができます。
ちなみに、ImageJのダウンロードから「Version 1.52a」以降、Windows用の32ビット版が無くなってしまいました。現状、こちらでダウンロードすることができる「Version 1.49v」が32ビット版の最新になっています。
本記事では、32ビット版ImageJをソースから作成してみます。NetBeansなどを使わない非常に簡易な方法で行います。
(1) 2019年5月において、ImageJの64ビット版はJava SE Development Kit(JDK) 8u112を使っています。今回は同じバージョンの32bit版のJDKをダウンロードし利用します。
(2) ImageJのダウンロードの「Source Code」の「zip archives」から「ij152o-src.zip」をダウンロードしてください。
(3) こちらから「ant.zip」をダウンロード します。
(1) 「jdk-8u112-windows-i586.exe」を実行します。JREはインストールしなくも良いです。
(2) 「c:\tmp\ImageJ」フォルダを作成します。(今回の例ではこのフォルダでビルドを行います)
(3) 「ij152o-src.zip」を展開し、「c:\tmp\ImageJ\source」フォルダにコピーします。
(4) 「ant.zip」を展開し、「c:\tmp\ImageJ\ant」フォルダにコピーします。
フォルダ構造
(1) 「c:\tmp\ImageJ\source」フォルダの「build.xml」の9行目を以下のように編集します。「fork="yes"」にしないと、環境変数「JAVA_HOME」が有効にならないようです。
<javac srcdir="./ij" destdir="build" optimize="on" source="1.6" target="1.6" debug="on" includeantruntime="false" encoding="utf-8">
<javac srcdir="./ij" destdir="build" optimize="on" source="1.8" target="1.8" debug="on" includeantruntime="false" fork="yes" encoding="utf-8">
dir c:\ /x
で確認すると良いと思います。set ANT_HOME=C:\ImageJ\ant
set JAVA_HOME=C:\ImageJ\jre
set ANT_HOME=C:\tmp\ImageJ\ant
set JAVA_HOME=C:\PROGRA~2\Java\jdk1.8.0_112
(2) コマンド プロンプトを起動、以下のようにコマンドを実行します。注意が表示されますが、ビルドは成功します。
> cd C:\tmp\ImageJ\source
> C:\tmp\ImageJ\ant\bin\ant.bat
Buildfile: build.xml
compile:
[javac] Compiling 346 source files to C:\tmp\ImageJ\source\build
[javac] 注意:一部の入力ファイルは非推奨のAPIを使用またはオーバーライドしています。
[javac] 注意:詳細は、-Xlint:deprecationオプションを指定して再コンパイルしてください。
[javac] 注意:入力ファイルの操作のうち、未チェックまたは安全ではないものがあります。
[javac] 注意:詳細は、-Xlint:uncheckedオプションを指定して再コンパイルしてください。
build:
[jar] Building jar: C:\tmp\ImageJ\source\ij.jar
run:
[copy] Copying 1 file to C:\tmp\ImageJ
BUILD SUCCESSFUL
Total time: 12 seconds
ビルドは一応成功しましたが、全ての機能が問題なく機能するかは試してはいませんので注意してください。