Я ищу решение для встраивания движка Google JavaScript V8 в мое приложение Java.
У вас есть некоторые решения?
Я ищу решение для встраивания движка Google JavaScript V8 в мое приложение Java.
У вас есть некоторые решения?
Вы можете использовать J2V8 https://github.com/eclipsesource/J2V8. Он даже доступен в Maven Central.
Ниже приводится привет, мир! с использованием 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>
Возможно, вы могли бы попробовать Jav8, которые реализуют базу Java Scripting API (JSR223) на движке Javascript Google V8. Я работаю над этим несколько недель назад, и он может поддерживать самые простые сцены.
Нет никакого простого способа сделать это, но я бы предложил Rhino или JNI. Первое проще, но, не v8, последнее сложно и сложно, но, v8.
Или вы можете использовать отдельный процесс v8 и разговаривать с ним с Java.