在 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
提交
取消