【问题标题】:Class not found - JavaFX Native Packaging找不到类 - JavaFX 原生打包
【发布时间】:2016-04-25 17:23:19
【问题描述】:

我正在尝试部署我创建的程序,但安装后出现错误。

我使用 Native Packaging 将其打包为 EXE 安装程序,当我单击该安装程序时,它说找不到主类。以下是一些错误截图:

为什么找不到类?

【问题讨论】:

  • 问题可能出在创建包的时候。如果执行安装包java -jar <path to jarfile>中包含的jar文件会发生什么。
  • @hotzst 生成的 jar 文件工作正常并且正在运行,先生。我不明白为什么单击生成的安装程序后创建的 .exe 文件不是。
  • @jessicajung 我也有同样的问题。您是否有机会设法修复它?
  • 我也遇到了这个问题。你们是否也在尝试从同一个项目生成单独的 .exe 可运行文件?我有一个我正在尝试创建的 Client.exe 和一个 Server.exe,它们都来自同一个代码项目。也许这让 Ant 感到困惑?
  • @jessicajung 你是怎么解决这个问题的?我也面临同样的问题。

标签: java javafx native packaging


【解决方案1】:

这并不总是最好的方法。 但是,我遇到了同样的问题,但它已经解决了。

首先,如果您使用的是 kotlin, 创建一个作为Java 文件的新入口点的主类。

生成的Java文件应该如下:

package {your_package};

import javafx.application.Application;

public class EP extends Main {
    public static void main(String... args) {
        Application.launch(args);
    }
}

Main 应该是似乎是当前入口点的类。 也许Main 被定义为open class Main: Application () {

将本次生成的EP类设置为入口点(主类)。

如果exe生成为-native image, 请尝试执行生成的exe,注意以下几点。

○ 确保生成的目录不包含空格或多字节。

○ 不要直接从USB等执行。(复制到PC并执行)

【讨论】:

    【解决方案2】:

    我遇到了完全相同的问题。我在项目中使用了 maven 和 spring boot。因此,先使用 maven 构建 jar,然后使用 org.springframework.boot.loader.JarLauncher 作为 -appclass 选项。问题解决了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多