我是Java的初学者,我对使用Intellij IDEA制作.jar文件有一点问题。我正在尝试为日常使用制作一个简单的图书馆管理系统。
第一张图片是我在IDE上的项目。当我单击IDE上的“运行”按钮时,它没有问题。
第二张图片是我在IDE上的同一个项目。我只改变了我的包裹。我在mainJavaFiles包上移动了FXML文件并删除了xmlFiles包。当我单击IDE上的“运行”按钮时,它没有问题。
第一张图片:https://i.stack.imgur.com/ZGvJZ.png
第二张图片:https://i.stack.imgur.com/mZzMB.png
当我尝试运行.jar文件时,问题就出现了。我可以用第一和第二张图片项目结构制作.jar文件,没有问题。我的.jar文件运行没有第二个图片项目结构的问题。但我的.jar文件没有运行第一个图片项目结构。
当我使用不同的包分离我的java和fxml文件时,我的jar文件没有运行。我应该改变什么来运行我的jar文件与第一个图片项目结构。我该如何解决这个问题?
@Override
public void start(Stage primaryStage) throws Exception{
Parent root = FXMLLoader.load(getClass().getResource("anaEkran.fxml"));
primaryStage.getIcons().add(new Image(getClass().getResourceAsStream("book-open-icon.png")));
primaryStage.setTitle("Kitaplık Yönetim Sistemi");
primaryStage.setScene(new Scene(root));
primaryStage.show();
}
答案 0 :(得分:0)
我建议您阅读以下帖子,以阐明加载资源的工作原理。 Preferred way of loading resources in Java
看起来您没有使用像maven或gradle这样的独立构建系统来生成jar文件。所以,很可能你没有告诉intellij将文件包含在jar中。我建议解压缩jar文件并确保所有预期的文件都在那里。如果它们不是那么你似乎有一个intellij项目配置问题。
将来我强烈建议使用像maven这样的东西,因为它有一个大致正式的目录结构,可以帮助保持结构。
答案 1 :(得分:0)
尝试使用gradle。你可以在互联网上找到很多关于它的教程。例如: https://www.mkyong.com/gradle/gradle-create-a-jar-file-with-dependencies/
或者,如果您正在寻找构建独立的JavaFx应用程序示例,请查看: https://github.com/klolo/fx/
您可能需要另外一个项目结构。