현재 모듈 중 Jar파일 모듈로 배포되는 비중이 높은 것같다. 개발자가 Node.js 개발 중 Jar파일(모듈)을 연동 시켜야 경우가 있을 수 있음으로 Node.js Jar파일을 연동 시키는 방법을 알아볼 것이다.
필자의 경우 Node.js 18버전 및 Jar파일 Java1.8로 진행하였음으로 모든 버전에 지원이 될지는 확인해 보지 못했다.
사전준비
- Node.js 및 npm 설치 [설치 방법]
- Python 2.x 버전 이상 설치 [설치 사이트] (* 최신 node-gyp version의 경우 python version 3.x이상 필요)
- Node.js 자바 모듈 설치
CMD(Command Prompt)에서 npm install java를 실행 시켜보자.
• node-gyp는 python 3.x가 아닌 python 2.x를 필요로 합니다. 자세한 내용은 https://github.com/TooTallNate/node-gyp/issues/155를 참고하세요
• 만약 'Call to 'node findJavaHome.js' returned exit status 1'과 같은 오류가 발생한다면, node-java 디렉토리에서 'node findJavaHome.js'를 실행하여 전체 실패 메시지를 확인해보세요.
• 'jni.h'를 찾는 데 문제가 발생하면 JRE만이 아닌 JDK가 설치되어 있는지 확인하세요. OpenJDK를 사용하는 경우 openjdk-7-jre가 아닌 openjdk-7-jdk 패키지를 사용해야 합니다. Mavericks 사용자는 이 문제에 부딪힌 경우 이슈 #86을 참고하세요.
추가적인 오류는 https://www.npmjs.com/package/java 참고하면 된다.
설치가 정상적으로 됐다면 Node.js에서 다음과 같은 함수를 사용하면 된다.
var express = require('express');
var java = require("java");
var app = express();
java.classpath.push("./Jar파일명.jar");
app.get('/testing', function (req, res) {
//Jar파일 선언
var manager = java.import("Jar 내부 페키지 경로");
var seed = new manager();
seed.함수();
})
위와 같이 jar파일을 import 해주면 자유롭게 함수를 호출해서 사용할 수 있다.