当前位置: 首页 > 面试题库 >

如何在Java应用程序中嵌入V8?

巢德华
2023-03-14
问题内容

我正在寻找一种将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>


 类似资料:
  • 问题内容: 我想在我的Tkinter主窗口中嵌入一个终端。我想有一个终端(基于Bash的终端)可以运行的子窗口。我还希望能够让我的程序与终端交互,至少我想阅读当前的工作目录和/或设置它。 我不知道这是否真的不可能。过去我可以使用Perl / Tk做到这一点,所以也许可以在这里复制它。 我当时使用的代码是这样的: Tk主窗口在哪里。 当然,我完全同意Bryan的观点:尽管我以前从未使用GUI库进行编

  • 问题内容: 我的目标是让Limewire(JAVA)和Songbird(XULRunner)一起运行。 我当时想最好的方法是在JAVA摆动面板中运行XUL应用程序(songbird)。还有另一种方法吗? 将GUI完全放在XUL中,然后以某种方式访问​​我的JAVA对象会更好还是可行? 我将如何去做呢? 谢谢 问题答案: 看一看JRex,它可能会让您窥探到两个想法。 除此之外,我还将研究Rhinoh

  • 我有一个很大的swing应用程序,我想把javafx嵌入其中。我多次尝试这样做(通过遵循oracle教程等),但只有在声明一个新的JFrame以使用JFXPanel组件时才成功。但是,我不想使用新的框架,我想将我的Javafx代码合并到swing应用程序的根JFrame中。 我们可以将javaFX组件嵌入到JPanel而不是JFrame中吗?如果答案是肯定的,为什么我没有成功?

  • 问题内容: 我一直在从事一个更像框架的项目,并且可以安装几个应用程序/模块。像基本的应用商店或google.play商店一样看到它。这是一个Intranet应用程序,所有模块都可以添加到您的用户帐户中。 该框架已经在开发中,但是我现在正在围绕应用程序/模块的想法。(链接到开发中的概念证明,可以在这里找到) 一个应用程序应该是独立的,并且不能突然包含框架中的脚本,这可以通过在单独的模块中进行结构化来

  • 问题内容: 在Elasticsearch 2.x中,我使用以下代码来启动嵌入式Node进行测试: 这不再编译。如何在5.x中启动嵌入式节点? 问题答案: 不再正式支持嵌入elasticsearch,它比2.x中的要复杂一些,但可以。 您需要添加一些依赖项: 然后启动一个这样的节点: