33

JavaアプリケーションにGoogleJavaScriptエンジンV8を埋め込むためのソリューションを探しています。

あなたはいくつかの解決策を持っていますか?

4

3 に答える 3

26

J2V8https://github.com/eclipsesource/J2V8を使用できますMavenCentralでも利用できます。

以下はHello、World!です。J2V8を使用したプログラム。

package com.example;

import com.eclipsesource.v8.V8;

public class EclipseCon_snippet5 {


    public static class Printer {
        public void print(String string) {
            System.out.println(string);
        }
    }

    public static void main(String[] args) {
        V8 v8 = V8.createV8Runtime();
        v8.registerJavaMethod(new Printer(), "print", "print", new Class<?>[]{String.class});
        v8.executeVoidScript( "print('Hello, World!');" );
        v8.release(true);
    }

}

pom.xmlでプラットフォームを指定する必要があります。J2V8は現在、win32_x86、macosx_x86_64、android_x86、およびandroid_armv7lをサポートしています。それらが異なる理由は、ネイティブバインディングとバンドルされているV8のビルド済みバージョンのためです。

たとえば、MacOSでは使用できます。

<dependencies>
    <dependency>
        <groupId>com.eclipsesource.j2v8</groupId>
        <artifactId>j2v8_macosx_x86_64</artifactId>
        <version>2.0</version>
        <scope>compile</scope>
    </dependency>
</dependencies>
于 2015-03-06T18:31:05.453 に答える
17

たぶん、GoogleV8JavascriptエンジンにJavaScriptingAPI(JSR223)ベースを実装するJav8を試すことができます。私は数週間前から取り組んでおり、ほとんどの単純なシーンをサポートできます。

http://code.google.com/p/jav8/

于 2011-07-27T16:17:02.227 に答える
5

簡単な方法はありませんが、RhinoまたはJNIをお勧めします。前者の方が簡単ですが、v8ではなく、後者は難しくて扱いにくいですが、v8です。

または、別のv8プロセスを使用して、Javaと通信することもできます。

于 2011-06-16T09:47:22.303 に答える