Node.jsからJavaのAPIを使う
node-javaを使って、Node.jsからJavaでコンパイルされたAPIを利用する方法です。
事前準備
- OpenJDK(11以上)をインストールする
- 環境変数
JAVA_HOME
を追加する
OpenJDKのインストールは下の記事を参考にしてください。
インストール時のみOpenJDK11以上が必要です。jdk1.6ではエラーとなります。
実行時はJAVA_HOMEがjdk1.6でも問題ありません。
実行時はJAVA_HOMEがjdk1.6でも問題ありません。
java(node-java)のインストール
Windowsでインストールエラーが発生する場合、管理者モードでPowerShellを起動してから、次のコマンドを実行してください。
2021.06.26 上記コマンドが完了しないことがあるため、その対処方法を記載しました。
windows-build-toolsが終らない場合の対処方法
windows-build-toolsが終らない場合の対処方法
使い方
JavaのAPIを同期で実行したい場合は各APIの末尾にSync
を付けてコールします。
インスタンスメソッドのコール
app.js
sampleLib.jar
は次のSampleClass.java
をコンパイルして作成したものです。
SampleClass.java
実行結果
- コールバックで実行の部分は実行ごとに順番が変わります
printSync()
をprint()
とした場合、順番が変わりますgetInt()
ではコールできません
staticメソッド(クラスメソッド)のコール
app.js
sampleLib.jar
は次のSampleStatic.java
をコンパイルして作成したものです。
SampleStatic.java
実行結果
print()
でコールした場合、順番が変わります- 同期処理で実行したい場合は
printSync()
を使用します