我正在寻找在我的Java应用程序中嵌入Google JavaScript引擎V8的解决方案。
你有解决方案吗?
答案 0 :(得分:17)
您可以使用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上你可以使用。
<dependencies>
<dependency>
<groupId>com.eclipsesource.j2v8</groupId>
<artifactId>j2v8_macosx_x86_64</artifactId>
<version>2.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
答案 1 :(得分:15)
也许您可以尝试Jav8,它基于Google V8 Javascript引擎实现Java Scripting API(JSR223)。几个星期前我正在研究它,它可以支持大多数简单的场景。
答案 2 :(得分:5)