我使用以下代码运行批处理文件,它可以从IDE(Netbeans,如果重要)运行完美。我将工作目录(在项目属性的运行选项卡中)设置为我有一个内置.jar
文件的同一目录,它在我运行它时起作用。
当我从IDE清理并构建一个新jar并将其拖到我设置为在IDE中运行的同一目录中时,它不起作用。我已经进行了双重检查,它正在尝试使用相同的命令,它只是没有运行它。
在打包它时是否需要放入一些标志,或者Java用来停止此命令的一些安全措施?
以下是代码:
String command="cmd /c cd \""+System.getProperty("user.dir")+"\\bin\"&&"+filename+"";
System.out.println(command);
JOptionPane.showMessageDialog(null,command); //How I verify it is the same command
Process p=Runtime.getRuntime().exec(command);
p.waitFor();