Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用Intellij IDEA创建Jar文件(单独的包)?_Java_Intellij Idea_Jar - Fatal编程技术网

Java 如何使用Intellij IDEA创建Jar文件(单独的包)?

Java 如何使用Intellij IDEA创建Jar文件(单独的包)?,java,intellij-idea,jar,Java,Intellij Idea,Jar,我是Java的初学者,在使用Intellij IDEA制作.jar文件方面有点问题。我正在尝试为我的日常使用制作一个简单的图书馆管理系统 第一个图像是我在IDE上的项目。当我点击IDE上的Run按钮时,它可以正常工作 第二个图像是我在IDE上的同一个项目。我只是换了包。我移动了mainJavaFiles包上的FXML文件,并删除了xmlFiles包。当我点击IDE上的Run按钮时,它可以正常工作 第一张图片: 第二幅图像: 当我尝试运行.jar文件时,问题开始了。我可以用第一个和第二个图片项目结

我是Java的初学者,在使用Intellij IDEA制作.jar文件方面有点问题。我正在尝试为我的日常使用制作一个简单的图书馆管理系统

第一个图像是我在IDE上的项目。当我点击IDE上的Run按钮时,它可以正常工作

第二个图像是我在IDE上的同一个项目。我只是换了包。我移动了mainJavaFiles包上的FXML文件,并删除了xmlFiles包。当我点击IDE上的Run按钮时,它可以正常工作

第一张图片:

第二幅图像:

当我尝试运行.jar文件时,问题开始了。我可以用第一个和第二个图片项目结构制作.jar文件,没有问题。我的.jar文件正在运行,第二个pictures项目结构没有问题。但是我的.jar文件没有使用first pictures项目结构运行

当我使用不同的包分离java和fxml文件时,我的jar文件没有运行。使用first pictures项目结构运行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();
}

我建议您阅读下面的文章,以阐明加载资源是如何工作的。

看起来您没有使用像maven或gradle这样的独立构建系统来生成jar文件。因此,很可能您没有告诉intellij将文件包含在jar中。我建议解压缩jar文件,并确保所有预期的文件都在那里。如果不是,那么您可能有intellij项目配置问题


将来我强烈建议使用maven之类的工具,因为它有一个基本上正式的目录结构,可以帮助保持结构化。

尝试使用gradle。你可以在网上找到很多关于它的教程。例如:

或者,如果您希望构建独立的JavaFx应用程序示例,请参见:


您可能需要项目的另一个结构

我已经添加了我的代码。谢谢你的回答!我也会搜索maven和gradle好的。我想我得看看格雷德尔和马文。