我正在寻找在我的Java应用程序中嵌入Google JavaScript引擎V8的解决方案。您有一些解决方案吗?
您可以使用 J2V8 https://github.com/eclipsesource/J2V8。它甚至可以在 Maven Central 中获取。
下面是一个使用 J2V8 的 Hello, World! 程序。
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,它是基于Google V8 Javascript引擎实现了Java Scripting API(JSR223)的。我已经在使用它几周了,它可以支持大多数简单场景。