【问题标题】:Generating executable file in IntelliJ for Windows在 IntelliJ for Windows 中生成可执行文件
【发布时间】:2019-05-20 03:30:46
【问题描述】:

我曾经从事过一个 IntelliJ 项目,该项目在我开始工作之前就已经开始了。这个项目的配置允许我生成一个可以轻松发送给 Windows 用户的 EXE 文件。

它会生成一个巨大的 EXE 文件,其中包含应用程序所需的所有 JAR 文件,并且在第一次运行时,它会默默地将自身“安装”到 AppData 文件夹中,就好像它是一个常规的 Windows 安装文件一样,即使用户甚至不会注意到它正在执行该安装。

我正在尝试在 IntelliJ 中配置一个项目以执行完全相同的操作,但首先我无法通过选择“exe”作为 Java FX 本机捆绑类型来输出 exe 文件。它只是生成一个 .jnlp 和 .jar 文件。当我选择“全部”时,根据 stackoverflow 中的其他帖子,它会生成一个 exe 文件,但只有几 kb 大小,其中不包含任何应该属于它的 .jar 文件。此外,当我尝试打开它时,它只是崩溃说找不到主类。

我是否缺少构建项目的一些设置?我正在使用 IntelliJ 2018.3.2

以下是一些截图:

【问题讨论】:

  • 我相信你没有包括你编译输出到模块。您能与我们分享“输出布局”选项卡屏幕,以及“JavaFX”选项卡。它位于项目设置 -> 工件 -> 您的 JavaFX 工件
  • @AlexG。添加了屏幕截图
  • 也许修改您的工件以包含 JAR 可以解决问题。你也可以试试 Maven。我使用 Maven 插件为 Spring Boot 创建可执行的胖 JAR。
  • @duffymo “也许修改你的工件以包含 JAR 会解决它”-> 我包含它们还是我遗漏了什么?这不是第一张截图吗?
  • 显然不是。 JAR 不会出现在您的包中,或者它们没有列在清单中。您必须将 CLASSPATH 添加到清单中。我建议打开生成的工件并检查内容。

标签: java intellij-idea javafx executable


【解决方案1】:

最好的解决方案是使用 exe 生成器软件。 那里有很多 exe 生成器。

EXE4J 是最简单易用的工具。

在 EXE4J 中,
你可以上传你的主jar文件并选择主类。

我想这会解决你的问题。

【讨论】:

  • 我知道还有其他解决方案。我宁愿坚持使用 IntelliJ,因为它到目前为止一直在工作。我要求解决 IntelliJ 问题,而不是替代方案。还是谢谢你。
【解决方案2】:

这可能是由于您已将 Jars 提取到输出根目录,而您需要将其放入(您可以通过在输出布局屏幕中删除输出根目录中的所有内容来检查差异,然后只需右键单击右侧的 jar这边,你会在这里看到两个选项,试试另一个

【讨论】:

    【解决方案3】:

    在更改编译的详细程度并查看日志后,我已经能够克服这个错误。

    有一条日志消息有助于解决此问题:

    进程抱怨Inno Setup Compiler 丢失,这是正确的。让我想知道,如果 IntelliJ 依赖于外部工具但没有明确通知用户,为什么它会内置该功能。

    Detected [iscc.exe] version 0.0 but version 5.0 is required.
    

    在访问 Inno Setup 站点,下载并安装该工具后,我能够生成要生成的可执行文件。

    现在我正在与另一个错误作斗争,这是可执行文件抱怨找不到工件中引用的主类,但至少我已经解决了第一个问题!现在要解决这个问题...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-26
      相关资源
      最近更新 更多