2017-05-23 4 views
1

ノードJSアプリケーションは、Linux、Windows、Solarisで正常に動作しています。しかし、Node JSはV8エンジンをサポートしていないため、SPARCシステムでは動作しません。SPARCのAvatar.js

Myselfには、JAVA 8組み込みJavaScriptエンジンNashronを使用して、JVM(Java Virtual Machine)でNODE JSプログラムを実行するために使用されるAVATARという外部プロジェクトが見つかりました。

公式サイトでは、Linux用の私(.so)ファイル、プログラムをコンパイルしたWindows用の(.dll)ファイルを提供しています。これらのファイル(.so & .dll)を使用すると、LinuxでノードJSプログラムを正常に実行しました.JAVA 8のウィンドウ。

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のそれの.soファイルのいずれかのビルドは、

が2.Is、SPARCシステム上

1.Running NODE JS私はSPARCのNashronの代わりに他のJava Scriptエンジンを使用しています(例:Spider Monkey)。公式サイトのために

リンク:アバターを実行するためのhttps://avatar-js.java.net/

手順:のOracle Solaris 11.3 SPARC

JAVAバージョン: Javaのバージョン "1.8.0_60" のOracle Solaris OSのhttp://blog.jonasbandi.net/2014/03/running-nodejs-applications-on-jvm-with.html

バージョンJavaホットスポットTM 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/"); 

答えて

1

プロジェクトオラクルからのアバターが死んでいます。
正式には「開発は保留中」と呼ばれていますが、わかっています!
これについての私のblogpostを参照してください:http://www.n-k.de/2015/02/current-status-of-oracles-project-avatar.html
上記の代替 "Nodyn"も死んでいます。

したがって、node.jsを目的のプラットフォームで実行するには別のオプションを探す必要があります。

+0

返信いただきありがとうございます。 NashornではなくJavascript Enginesを使用するのが賢明でしょうか?それはNODE JSとSPARCで動作しますか? –

+0

それはあなたが何をしたいかによって異なります。 Node.jsコードを実行したい場合は、Node.jsをSparcで実行する方法を調べる必要があります(Sparcプラットフォームでの経験はありません)。 JavaとJavaScriptを組み合わせたい場合は、Nashornを使用することもできますが、ノードAPIを削除する必要があります。 – dasniko

+0

ありがとう@dasniko –

関連する問題