首页 > 解决方案 > 将 Java 添加到 Electron 应用程序

问题描述

我正在使用 Electron 构建一个浏览器,并且我想向其中添加 Java。因此,例如,如果我将此代码添加到在浏览器中运行的网页中:

    <applet width="854" height="480" title="Java" codebase="/game/" code="net.minecraft.Launcher" archive="https://s3.amazonaws.com/MinecraftDownload/launcher/MinecraftLauncher.jar?v=1321653290000">
      <param name="_cx" value="22595">
      <param name="_cy" value="12700">
      <param name="separate_jvm" value="true">
      <param name="java_arguments" value="-Xmx1024M -Xms1024M -Dsun.java2d.noddraw=true -Dsun.awt.noerasebackground=true -Dsun.java2d.d3d=false -Dsun.java2d.opengl=false -Dsun.java2d.pmoffscreen=false">
      <param name="userName" value="jordsta95">
      <param name="latestVersion" value="1321653290000">
      <param name="downloadTicket" value="f8ce233fd9e42d50504a790ac4af9580">
      <param name="sessionId" value="8103497761488968768">
    </applet>

它会运行。

app.commandLine.appendSwitch('--enable-npapi');

我已经尝试过上面的代码。但是<applet>加载时仍然什么都不做...

标签: javascriptjavanode.jspluginselectron

解决方案


不幸的是,这不起作用是有原因的。

这将需要安装 Java NPAPI 插件。该插件在 Java 9 中已停止使用,浏览器引擎不再支持 NPAPI 插件,并且由于 Electron 在 Chromium 上运行,因此没有开箱即用的方式来做到这一点。

您可以在 Java 网站上查看:https ://java.com/en/download/help/enable_browser.xml

从 github 上的快速浏览中,我能够找到这个 repo:https ://github.com/jreznot/electron-java-app

但它似乎被大量修改。


推荐阅读