当我试图通过控制台通过jar文件运行应用程序时,在登录事件期间,它会给出一个异常“java.lang.NullPointerException:Location is required”。但当我使用intellij IDE运行应用程序时,它工作得很好。
@FXML
public void loginAction(ActionEvent event) throws Exception {
errorLabel.setText("");
authenticate(event);
}
private void authenticate(Event event) throws Exception {
if (validateInput()) {
String username = userName.getText().trim();
User user = UserDAO.searchUserByName(username);
if (user == null) {
userName.setText("");
password.setText("");
Alert alert = new Alert(Alert.AlertType.ERROR);
alert.setTitle("Login Error");
alert.setHeaderText("Failure message");
alert.setContentText("Invalid username!!");
alert.showAndWait();
} else {
String userPassword = user.getPassword();
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(password.getText().getBytes());
byte byteData[] = md.digest();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < byteData.length; i++) {
sb.append(Integer.toString((byteData[i] & 0xff) + 0x100, 16).substring(1));
}
String role = user.getRole();
String id = user.getUserId();
sessionRole = role;
userId = id;
if (sb.toString().equals(userPassword)) {
if (role.equals("Admin")) {
windows("../views/admin.fxml", "Admin Dashboard");
} else {
windows("../views/pos.fxml", "Point of Sales");
}
} else {
userName.setText("");
password.setText("");
Alert alert = new Alert(Alert.AlertType.ERROR);
alert.setTitle("Login Error");
alert.setHeaderText("Failure message");
alert.setContentText("Invalid password!!");
alert.showAndWait();
}
}
}
}
private void windows(String path, String title) throws Exception {
Stage stage;
Parent root;
root = FXMLLoader.load(getClass().getResource(path));
stage = (Stage) loginButton.getScene().getWindow();
Scene scene = new Scene(root);
stage.setTitle(title);
stage.setScene(scene);
stage.show();
}
它给出了行的例外情况:
windows("../views/admin.fxml", "Admin Dashboard");
我也尝试给出fxml文件的绝对路径。它只在我使用jar文件运行应用程序时发生。jar中也没有文件丢失。这可能是什么原因造成的。提前道谢。
..
作用于文件系统上的资源,因为它是文件系统上指向父目录的实际条目。但是在JAR中不存在,所以当类和资源打包在JAR中时,指向父目录是不起作用的。
因此我们不能使用..
来指示文件位置,因此我们必须使用项目路径中的绝对路径。
我有一个Spring启动应用程序,当通过intellij运行时工作正常。但是当我从jar运行它时,我得到了下面的异常。 下面是我的pom文件。 我试着用两个 和 然后我通过java运行jar-jar-DParamName="有些Param" 我做错了什么?我是Spring的新手。任何帮助都将不胜感激。
当我使用 在intelij运行期间,一切正常。 在jar的案例中,我尝试了: 等等。它们导致正确的路径,例如: > 文件:/D:/Projects/myProject/target/classes/static/assets/config/fileName(对于toExternalForm) /D: /Projects/myProject/target/classes/static/assets/
我是Grails的新手,我用GVM工具安装了它,并试图从终端运行一个默认应用程序,只需尝试以下命令:Grails create-app demo和Grails run-app,我得到了一个巨大的错误: 编辑:问题解决了,只需升级JDK版本。
问题内容: 我刚刚开始学习Java,并且只知道少量的代码,但是,这仍然是一个简单的程序。它更多是一个恶作剧程序,但主要只是为了测试我是否可以创建一个jar文件。 这是代码: 我将其保存到名为的文件中,然后使用进行编译 这有效,当我使用运行它时 它也可以正常工作。 因此,然后我尝试创建一个jar文件。我使用命令 而且有效。之后,我双击jar文件,它出现一个错误。 所以我在cmd中运行它 并得到这个错
首先,抱歉英语不好。我从Flatter开始,我已经安装了所有必要的东西,但是当尝试运行测试应用程序(在模拟器或设备中)时,我会收到下面的错误消息。 正在启动lib\main。调试模式下XT1097上的dart。。。正在初始化gradle。。。正在解析依赖项…*运行Gradle时出错:从以下位置退出代码1:C:\Testes\first\u app\android\gradlew。bat应用程序:属
注意:test.class文件也使用了example.jar文件中的类文件,有自己的包结构。 我知道我可以将它们放在一个jar文件中,不幸的是我需要将test.class文件分开。