【问题标题】:How does JetBrains create .exe files for their IDE's?JetBrains 如何为其 IDE 创建 .exe 文件?
【发布时间】:2019-05-21 17:09:33
【问题描述】:

据我所知,JetBrains 主要使用 Java (swing) 作为他们的 IDE。

但我注意到他们所有的 IDE 都有一个 .exe,所以我想知道他们的 JDK 在哪里/如何执行。特别是因为 JDK 甚至没有出现在任务管理器中。

我尝试自己创建一个 exe 并将 JDK 作为子进程启动,但即便如此,任务管理器确实显示 JDK 作为单独的应用程序运行。

他们是怎么做到的?他们修改了 JDK 来实现这一点吗?

【问题讨论】:

  • 如果你在 Jetbrain 论坛上问这个问题,他们可能会回答,顺便问一下你想做什么?你想实现这样的目标吗?
  • 我正在开发一个 JavaFX 应用程序,是的,我想实现同样的目标。没有 IDE,但我不想让 exe 直接显示在任务管理器中,是的,也许还有其他一些我什至没有考虑过的事情。
  • 不确定 JetBrains 是做什么的,但您可以使用 jpackage(目前为抢先体验)。
  • 我怀疑他们有一个用 C 语言编写的本机可执行文件,它动态链接到 jvm.dll。这在this answer 中有解释。

标签: java intellij-idea jetbrains-ide


【解决方案1】:

JetBrains 基于 IntelliJ IDEA 的产品使用 custom launcher 在 Windows 上加载 JVM。它是开源的,您可以通过分析 GitHub 存储库中的 WinLauncher 源代码来研究它的工作原理。它会动态加载jvm.dll

多年前,我们使用了第三方解决方案 (EXE4J),但为了获得更大的灵活性并让 IntelliJ IDEA 社区 100% 开源,我们改用了自定义启动器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-10
    • 1970-01-01
    • 2018-09-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多