对于我的文本迷宫游戏,Eclipse
可以找到文本文件并正常运行,但是当我将项目的jar
转换为exe
时,exe
找不到该文件。奇怪的是,我创建的jar文件和exe
都在同一个目录中,但是jar
文件运行良好,而exe文件则不然。这是为什么呢?
这是我的代码:
try {
//Find the file, create the maze, etc.
}
// Exceptions
catch (FileNotFoundException e) {
File file = new File("maze.txt");
System.out.println(file.canRead());
System.out.println(file.getAbsoluteFile().exists());
}
当我运行exe
时,两个打印都输出 false,即使所有文件都在同一个目录中并且它适用于Jar
文件。这是为什么呢?顺便说一下,我正在使用IExpress
转换为exe
。
您可以使用 Launch4j,因为它易于使用
Launch4j是一个跨平台工具,用于将Java应用程序包装在轻量级Windows本机可执行文件中作为jar分发。可执行文件可以配置为搜索某个 JRE 版本或使用捆绑版本,并且可以设置运行时选项,例如初始/最大堆大小。包装器还通过应用程序图标、本机预 JRE 初始屏幕和 Java 下载页面提供更好的用户体验,以防找不到相应的 JRE。