NodeJS,调用Java,通过导入jar的方式访问Java程序代码

Node程序

安装

npm i java

调用程序

let java = require('java');

// 导入jar包
java.classpath.push('./lib/nodejs-1.0.jar');

let JavaHandler = java.import('com.what21.JavaHandler');
let javaHandler = new JavaHandler();

// 访问静态变量
console.log("JavaHandler.name=", JavaHandler.name);
// 访问静态方法
JavaHandler.setName("NodeJS编程");
console.log("JavaHandler.name=", JavaHandler.name);
// 访问实例变量
console.log("javaHandler.age=", javaHandler.age);
// 调用实例方法
let userString = javaHandler.getUserString("123456");
let user = javaHandler.getUser("123456");
let users = javaHandler.listUser();
console.log("javaHandler.getUserString=", userString);
console.log("javaHandler.getUser=", user);
console.log("javaHandler.listUser=", users);

console.log("完成........................................");

Java程序

Java代码

package com.what21;

import java.util.Arrays;
import java.util.List;

public class JavaHandler {

    public Integer age = 34;

    public static String name = "Java编程";

    public static void setName(String name) {
        System.out.println("name=" + name);
        JavaHandler.name = name;
    }

    public String getUserString(String username) {
        User user = new User();
        user.setUsername(username);
        user.setPassword(username);
        return user.toString();
    }

    public User getUser(String username) {
        User user = new User();
        user.setUsername(username);
        user.setPassword(username);
        return user;
    }

    public List listUser() {
        User user1 = new User();
        user1.setUsername("1");
        user1.setPassword("1");
        User user2 = new User();
        user2.setUsername("2");
        user2.setPassword("2");
        return Arrays.asList(user1, user2);
    }


    public static class User {

        private String username;

        private String password;

        public String getUsername() {
            return username;
        }

        public void setUsername(String username) {
            this.username = username;
        }

        public String getPassword() {
            return password;
        }

        public void setPassword(String password) {
            this.password = password;
        }

        @Override
        public String toString() {
            return "User{" +
                    "username='" + username + '\'' +
                    ", password='" + password + '\'' +
                    '}';
        }
    }

    public static void main(String[] args) {
        JavaHandler javaHandler = new JavaHandler();
        System.out.println("javaHandler.age=" + javaHandler.age);
        System.out.println("JavaHandler.name=" + JavaHandler.name);
        JavaHandler.setName("NodeJS编程");
        System.out.println("JavaHandler.name=" + JavaHandler.name);
        System.out.println("JavaHandler.getUser=" + javaHandler.getUserString("123456"));
        System.out.println("JavaHandler.getUser=" + javaHandler.getUser("123456"));
        System.out.println("JavaHandler.listUser=" + javaHandler.listUser());
    }

}

打包为:nodejs-1.0.jar

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章