Как встроить V8 в приложение Java? - PullRequest
29 голосов
/ 16 июня 2011

Я ищу решение для встраивания движка Google JavaScript V8 в мое Java-приложение.

У вас есть какие-нибудь решения?

Ответы [ 3 ]

18 голосов
/ 06 марта 2015

Вы можете использовать J2V8 https://github.com/eclipsesource/J2V8. Он даже доступен в Maven Central .

Ниже приведен 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 вы можете использовать.

15 голосов
/ 27 июля 2011

Возможно, вы могли бы попробовать Jav8, который реализует Java Scripting API (JSR223) на основе движка Javascript Google V8. Я работаю над этим несколько недель назад, и он может поддерживать самые простые сцены.

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

5 голосов
/ 16 июня 2011

На самом деле нет простого способа сделать это, но я бы предложил Rhino или JNI . С первым проще, но не с v8, с последним трудно и привередливо, но с v8.

Или вы можете использовать отдельный процесс v8 и общаться с ним с помощью Java.

...