Node スクリプトから( jar にある)Java 実装の情報を集めたい。
Node から Java を操りたい人向けのライブラリがなぜか存在している。 node-java
インストール方法は特に説明しないが、私は “node-gyp” でコケたので “windows-build-tools” を使ってインストールできた。
JavaScript から Java を動かす、と言うと、ややこしい。
インストール
1 | yarn add java |
例
リフレクションにより、 ArrayList<T>
の add<T>
を取得して実行している。 “node-java” のオプションは指定していない。
1 | const java = require("java"); |
Tips
foo.MyClass.class
という表現は使えないので、変わりにjava.lang.Class.forName("foo.MyClass")
を使う。つまり、java.callStaticMethodSync("java.lang.Class", "forName", "foo.MyClass")
を実行する。- 補完や型チェックは効かない。
- Java コードの eval や新たな定義はできないため、回り道を探すか、本当に必要なら Java で実装して jar を classpath につっこむ。
- その他は、 Java のリフレクションで躓くところを気をつければ良い。