当您从Java GUI运行这个问题时,它会在后台运行。
所以您根本看不到命令提示。
要解决这个问题,您必须通过“cmd.exe”和“start”运行java.exe。
我不知道为什么,但是如果你把“cmd/c start”放在前面,它会在运行时显示命令提示。
但是,“启动”的问题是,如果到应用程序的路径中有空间
JavaEXE的路径通常具有
C:\程序文件\java\jRe6\bin \javaEXE或类似,
然后以“找不到C:\程序”失败开始。
因此,您必须在C:\程序文件\java\jRe6\bin \javaEXE周围放置引号。
现在开始抱怨传递给java.exe的参数:
“系统找不到文件-cp。”
用反斜杠转义“程序文件”中的空间也不起作用。
所以我们的想法是不利用空间。
生成一个带有BAT扩展名的临时文件,然后在其中放置带有空格的命令
把球棒拿开。
但是,通过启动运行BAT,完成后不退出,
因此,您必须将“exit”放在批处理文件的末尾。
这看起来仍然很糟糕。
因此,在寻找替代方案时,我发现在“程序文件”空间中使用引号空格引号实际上与start一起工作。
在上面的执行类中,更改字符串生成器附加到:
append( "cmd /C start \"Some title\" " ).
append( java.lang.System.getProperty( "java.home" ).replaceAll(" ", "\" \"") ).
append( java.io.File.separator ).
append( "bin" ).
append( java.io.File.separator ).
append( "java" ).
append( " " ).
append( new java.io.File( "." ).getAbsolutePath() ).
append( java.io.File.separator ).
append( CLASS_TO_BE_EXECUTED ).