在 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 中,文件 -> 项目结构 -> 工件 -> 选择您的工件 -> 输出布局选项卡 -> -> 目录内容 -> 选择您的资源文件夹。然后重建你的罐子
添加回答
举报
0/150
提交
取消