【问题标题】:is it possible to execute a jar file using jvm.dll. instead of java.exe?是否可以使用 jvm.dll 执行 jar 文件。而不是java.exe?
【发布时间】:2019-09-18 21:16:39
【问题描述】:

我有一个嵌入了 JRE 的安装程序,也就是说,它有一个 jvm.dll 而不是一个 java.exe。我想做的是使用 jvm.dll 而不是 java.exe 执行 Java 应用程序(一个 jar 文件)。

这可能吗?

【问题讨论】:

  • 如果没有关于您拥有的更多信息,请查看此docs.oracle.com/en/java/javase/11/docs/specs/jni/…
  • 我的Java程序是一个部署为jar文件的Websocket服务器程序。我可以像这个java -jar myserver.jar一样运行这个程序,也就是使用java.exe。问题是 myserver.jar 是使用 Windows (.exe) 中的安装程序安装的,并且此安装程序还安装了嵌入的 JRE。此嵌入 JRE 没有 java.exe。相反,它有像 jvm.dll 这样的 dll。 java.exe 是 jvm.dll 的包装器。我想要的是使用我的安装程序分发的这个 jvm.dll 执行 myserver.jar,而不是使用安装在不同计算机中的 JRE。
  • 那是什么安装程序?它是自定义的还是类似 javapackager 的?
  • 这是一个自定义的,使用 Inno 设置:jrsoftware.org

标签: java


【解决方案1】:

我认为这是不可能的,除非你没有将你的 java 应用程序嵌入到 C++ 应用程序中。

延伸阅读:

Difference between java.exe, javaw.exe and jvm.dll

Embed Java into a C++ application?

【讨论】:

  • 那么有可能,不是吗?
  • 可以,但前提是您将应用程序嵌入到 C++ 程序中。您不能仅使用 jvm.dll 执行 java 程序
【解决方案2】:

有可能。

您必须编写 C/C++ 程序来实现它(或使用其他能够进行本机调用的语言)。

【讨论】:

    猜你喜欢
    • 2017-06-20
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 2014-12-20
    • 1970-01-01
    • 2016-10-23
    • 2015-11-07
    • 1970-01-01
    相关资源
    最近更新 更多