노드 JS 응용 프로그램은 Linux, Windows 및 Solaris에서 잘 작동합니다. 그러나 노드 JS는 V8 엔진을 지원하지 않기 때문에 SPARC 시스템에서 작동하지 않습니다.SPARC의 Avatar.js
Myself는 Java 8 inbuilt JavaScript Engine - Nashron을 사용하여 JVM (Java Virtual Machine)에서 NODE JS 프로그램을 실행하는 데 사용되는 AVATAR이라는 외부 프로젝트를 발견했습니다.
공식 사이트에서는 Linux 용 (.so) 파일, 프로그램 컴파일 된 Windows 용 (.dll) 파일을 제공합니다. 이러한 파일 (.so & .dll)을 사용하여 Linux에서 노드 JS 프로그램을 성공적으로 실행했습니다 (Java 8이 설치된 Windows).
SPARC 플랫폼에서 실행하기 위해 동일한 Linux (.so) 파일을 사용했으며 아래 오류가 발생합니다.
오류가 발생했습니다 : 나는 아바타를 사용하여 JVM에서 실행하는 데 사용 NODE JS의 기본 HTTP 서버 프로그램을 첨부
-bash-4.1$ java -Djava.library.path=dist -jar dist/avatar-js.jar HttpServer.js
Exception in thread "main" java.lang.UnsatisfiedLinkError: /export/home/thiru/LinuxAVatar/dist/libavatar-js.so: ld.so.1: java: fatal: /export/home/thiru/LinuxAVatar/dist/libavatar-js.so: wrong ELF data format: ELFDATA2LSB (Possible cause: endianness mismatch)
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1938)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1854)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at com.oracle.libuv.LibUV.<clinit>(LibUV.java:33)
at com.oracle.avatar.js.Server.<init>(Server.java:166)
at com.oracle.avatar.js.Server.<init>(Server.java:140)
at com.oracle.avatar.js.Server.<init>(Server.java:128)
at com.oracle.avatar.js.Server.main(Server.java:122)
.
당신은 아래의 점에 대한 몇 가지 가능성을 제공하시기 바랍니다 수 :
SPARC 시스템에1.Running NODE JS,
는 SPARC에 대한 그 .so는 파일에 대한 모든 빌드가 2.Is,3.shall 나는 SPARC (예 : Spider Monkey)의 Nashron 대신 다른 Java Script Engines를 사용합니다. 공식 사이트에 대한
링크 : https://avatar-js.java.net/
절차 아바타를 실행합니다 : http://blog.jonasbandi.net/2014/03/running-nodejs-applications-on-jvm-with.html
은 Oracle Solaris OS의 버전 : 오라클 솔라리스 11.3 SPARC
JAVA 버전 : 자바 버전 "1.8.0_60" 을 Java (TM) SE 런타임 환경 (빌드 1.8.0_60-b27) Java 핫스팟 64 비트 서버 VM (빌드 25.60-b23, 혼합 모드)
미리 감사드립니다.
var http = require('http');
var server = http.createServer(function (request, response) {
response.writeHead(200, {"Content-Type": "text/plain"});
response.end("Hello World\n");
});
server.listen(8000);
console.log("Server running at http://127.0.0.1:8585/");
답장을 보내 주셔서 감사합니다. Nashorn 대신 Javascript Engines를 사용하는 것이 현명합니까? 그것은 NODE JS와 SPARC에서 작동합니까? –
그것은 당신이 원하는 것을 원한다. Node.js 코드 만 실행하려면 Sparc에서 Node.js를 실행하는 방법을 찾아야합니다 (Sparc 플랫폼에 대한 경험이 없습니다). Java와 JavaScript를 결합하려면 Nashorn이 가능한 솔루션 일 수 있지만 노드 API를 삭제해야 할 수도 있습니다. – dasniko
Thanks @ dasniko –