Eclipse 可以找到文件,但 Exe 文件不能,尽管该文件位于同一目录中,
Eclipse can find file but Exe file cannot despite the fact that the file is in the same directory,
对于我的文字迷宫游戏,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
时,即使所有文件都在同一目录中并且它适用于 Jar
文件,但两个打印输出都为 false。为什么是这样?顺便说一句,我正在使用 IExpress
转换为 exe
。
你可以使用Launch4j因为它很容易使用
Launch4j 是一个跨平台工具,用于将 Java 应用程序包装为轻量级 Windows 本机可执行文件中作为 jar 分发的应用程序。可执行文件可以配置为搜索某个 JRE 版本或使用捆绑版本,并且可以设置运行时选项,例如 initial/max 堆大小。该包装器还通过应用程序图标、本地 JRE 之前的初始屏幕和 Java 下载页面提供更好的用户体验,以防找不到合适的 JRE。
对于我的文字迷宫游戏,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
时,即使所有文件都在同一目录中并且它适用于 Jar
文件,但两个打印输出都为 false。为什么是这样?顺便说一句,我正在使用 IExpress
转换为 exe
。
你可以使用Launch4j因为它很容易使用
Launch4j 是一个跨平台工具,用于将 Java 应用程序包装为轻量级 Windows 本机可执行文件中作为 jar 分发的应用程序。可执行文件可以配置为搜索某个 JRE 版本或使用捆绑版本,并且可以设置运行时选项,例如 initial/max 堆大小。该包装器还通过应用程序图标、本地 JRE 之前的初始屏幕和 Java 下载页面提供更好的用户体验,以防找不到合适的 JRE。