Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.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 运行.Jar文件时出错_Java - Fatal编程技术网

Java 运行.Jar文件时出错

Java 运行.Jar文件时出错,java,Java,该程序在eclipse中运行良好,我希望将其转换为可执行文件,以便用户只需单击exe文件。但首先我必须把它做成一个.jar。但是它不会在.jar文件中运行,我在终端中尝试了它,它给了我这个错误,我不确定错误是什么,因为程序在eclipse中运行良好 错误是 C:\User\Mondi\Desktop\exe>java -jar RunGUI.jar java.io.FileNotFoundException: airport.txt <??????????> at

该程序在eclipse中运行良好,我希望将其转换为可执行文件,以便用户只需单击exe文件。但首先我必须把它做成一个.jar。但是它不会在.jar文件中运行,我在终端中尝试了它,它给了我这个错误,我不确定错误是什么,因为程序在eclipse中运行良好

错误是

C:\User\Mondi\Desktop\exe>java -jar RunGUI.jar
java.io.FileNotFoundException: airport.txt <??????????>
      at java.io.FileInputStream.open<Native Method>
      at java.io.FileInputStrem.<init><unknown source>
      at java.util.scanner.<init><unknown source>
      at dijkstra.FileProcess.loadtegMap<FileProcess.java:51>
      at dijkstra.RunGUI.main<RunGUI.java:13>
C:\User\Mondi\Desktop\exe>java-jar RunGUI.jar
java.io.FileNotFoundException:airport.txt
在java.io.FileInputStream.open
在java.io.FileInputStrem。
位于java.util.scanner。
在dijkstra.FileProcess.loadtegMap
在dijkstra.RunGUI.main

如果您试图打开airport.txt文件而没有路径,它将在工作目录中查找它,而工作目录不是jar中的目录


要读取jar中的文件,您需要查看getResourceAsStream。

正如我在评论中所写的那样,文件必须位于当前目录中,代码才能找到它


这就是你想要的吗?如果
airport.txt
是一个固定文件,那么您可能应该将其与编译后的代码一起添加到jar中。如果它在jar的根目录中,您将使用
getResourceAsStream
,然后您可以将其包装在
Scanner

中,根据该跟踪,它找不到文件“airport.txt”。所以您在jar中填充了airport.txt?看这里,也许这会有帮助:我实际上已经尝试将.txt文件放在包中的每个文件夹中,但仍然给我相同的错误…它正在当前目录中查找该文件,您是否在
C:\User\Mondi\Desktop\exe
中找到了它?如果它在jar中,你需要将它作为一个资源加载,比如@iluxa saysi将继续使用我现在得到的,它现在可以工作了,非常感谢!