为了账号安全,请及时绑定邮箱和手机立即绑定

JavaFX jar 未与 JAR 文件一起加载,但在将代码编译为应用程序时加载正常

JavaFX jar 未与 JAR 文件一起加载,但在将代码编译为应用程序时加载正常

萧十郎 2022-05-12 17:29:20
在 IntelliJ 中编译为应用程序时,我可以很好地构建和启动程序。但是,当我打包和部署并尝试双击 jar 时,没有任何反应。我决定使用 Git Bash 并从那里运行它,我看到它正在抛出 NullPointerException。下面是 JavaFX 主类、我的文件结构和抛出的错误。为什么我在 jar 中得到 NullPointerException 但在 IntelliJ 中构建和编译时工作正常?如果我遗漏任何信息,请告诉我。谢谢!public class Main extends Application {    private Stage stage;    @Override    public void start(Stage stage){        this.stage = stage;        this.stage.setTitle("My JavaFX App");        initRootlayout();    }    private void initRootlayout(){        try{            Parent root = FXMLLoader.load(getClass().getResource("/view/main.fxml"));            Scene scene = new Scene(root);            stage.setScene(scene);            scene.getStylesheets().add("css/default.css");            stage.setResizable(false);            stage.show();        }        catch(Exception e){            throw new RuntimeException(e);        }    }    public static void main(String[] args) {        launch(args);    }}
查看完整描述

1 回答

?
12345678_0001

TA贡献1802条经验 获得超5个赞

检查您的 jar 内容,主要是它缺少您的资源文件夹。如果您使用 IntelliJ Artifacts 制作 jar,请确保将您的资源文件夹包含在 jar 中,文件 -> 项目结构 -> 工件 -> 选择您的工件 -> 输出布局选项卡 -> 添加副本-> 目录内容 -> 选择您的资源文件夹。然后重建你的罐子



查看完整回答
反对 回复 2022-05-12
  • 1 回答
  • 0 关注
  • 83 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信