node-java-bridge
v1.0.22
Published
NodeJS java bridge API
Downloads
12
Readme
Description
bridge API for node-java repository
This API allows you:
call static method easily without knowing class path
create java instance with "new" keyword
ChangeLogs
- 2018/06/23: (1.0.22) Add example code
- 2018/06/22: (1.0.21) Update ReadMe-Usage, refactor jar-bridge.js & jar-class-loader.js, rename Main.jar to JarBridge.jar, remove unused class of JarBridge.java
- 2018/06/21: (1.0.6) UpdateReadMe
- 2018/06/21: (1.0.5) Integrate instance method & static methods, refactor jar-bridge.js
- 2018/06/20: (1.0.4) Remove unused object javaAPI
- 2018/06/20: (1.0.3) Replace all "let" with "var" for nodeJS compatibility
- 2018/06/20: (1.0.2) Update jar file for JavaSE-1.7 compatibility
Compatibility
- Java 1.7 or higher
Installation
npm install node-java-example
or
yarn add node-java-example
1. Configure java path(for jar command).
if there is no jdk installation, you can also put jar file into your project,
and add following scripts:
process.env.Path += ';<your_jar_path>';
Usage
Import module
- const nodeJavaBridge = require('node-java-bridge');
Load All Jar Classes
Limitation: if jar is too large, it will throw array size exceed error.
nodeJavaBridge.load(jarPath, {sync: true}) .then((api) => { console.log('---- Instance ----'); console.log(api.Base); var b1 = new api.Base(); console.log(b1.call('my arg'));
console.log('---- End of Instance ----'); console.log('---- Static Methods ----'); console.log(api.Main.Foo()); console.log('---- End of Static Methods ----');
}, (err) => { console.log('Error'); console.log(err); }) .catch((err) => { console.log('---- Catch ----'); console.log(err); });
Load part of jar
nodeJavaBridge.addClassPath('./Main.jar'); var Main = nodeJavaBridge.loadJarModuleAsync('com/example/api/Main'); console.log(Main);
console.log('---- dumpMethods ----'); console.log(nodeJavaBridge.getClassMethods('com.example.api.instance.Concrete')); console.log('---- End of dumpMethods ----');
[References]
Github: node-java