Java 双击启动jar文件时没有输出文件

Java 双击启动jar文件时没有输出文件,java,executable-jar,Java,Executable Jar,我有一个可运行的jar文件,当它运行时,会显示一个gui。gui可以用来做各种事情,包括编写输出文件。当我通过键入java-jarmyprogram.jar在命令行启动jar文件时,它工作得很好。但是,如果我通过双击jar文件来启动它,程序工作正常,但不会编写输出文件。。至少我没有找到预期的输出文件 注1:代码提取当前目录(即jar文件所在的目录)。输出文件将写入此目录。 注2:我在运行Ubuntu的Linux机器上工作 File currFolder = new File(""); defau

我有一个可运行的jar文件,当它运行时,会显示一个gui。gui可以用来做各种事情,包括编写输出文件。当我通过键入java-jarmyprogram.jar在命令行启动jar文件时,它工作得很好。但是,如果我通过双击jar文件来启动它,程序工作正常,但不会编写输出文件。。至少我没有找到预期的输出文件

注1:代码提取当前目录(即jar文件所在的目录)。输出文件将写入此目录。 注2:我在运行Ubuntu的Linux机器上工作

File currFolder = new File("");
defaultDirectory = currFolder.getAbsolutePath(); 
String outfile = defaultDirectory+"/testfile.mp3"

我认为源文件不包含输出文件的完整路径。。请检查文件路径,然后运行jar文件。

这可能是权限问题-您是否在命令行中运行该文件,与双击文件时文件管理器使用的用户相同?如何确定“jar文件所在的目录”?请注意,这不一定与当前工作目录相同。@Sharkoffmirkwood,是的。@Thilo,正如我所说,如果我cd到包含jar文件的目录,并从命令行运行它,它工作正常,并在同一目录中生成输出文件。如果我试着双击jar文件的图标来运行它,除了没有输出文件外,一切都正常。假设您使用的是ubuntu操作系统,那么您将拥有开放的JDK版本。您可以在控制面板打开Java配置。在“高级”选项卡中,有一个单选按钮“显示/隐藏控制台”。选择ShowConsole,然后双击jar文件。当你的应用程序启动时,它应该会打开一个终端。尝试编写所需的文件,并检查它是否在consoleFile currFolder=new file(“”)中引发任何异常;defaultDirectory=currFolder.getAbsolutePath();String outfile=defaultDirectory+“/testfile.mp3”请查看我在上面的问题中添加的代码片段。