运行批处理文件来创建jar并通过java代码执行批处理文件?

时间:2016-02-09 18:40:08

标签: java batch-file jar cmd

我想运行一个.bat文件,其中编写用于创建jar的命令,并使用我的java代码调用该.bat文件。我的代码是:

public static void main(String ar[])      
{  
Runtime.getRuntime().exec("cmd /c start C:\\user\\mybatch.bat");  
}  

我的批处理文件是:

@echo off  
jar -cf myjar.jar D:/foldername  

唯一的问题是,.bat在双击时成功执行并且创建了jar但是当我尝试通过cmd弹出的空白屏幕执行它但它不会执行为创建jar而写的声明。

2 个答案:

答案 0 :(得分:0)

如果您没有从同一目录

执行此java程序,您还需要提及工作目录
Runtime.getRuntime().exec("cmd /c start C:\\user\\mybatch.bat", null,new File("C:\\user") );

答案 1 :(得分:0)

当您通过打开cmd运行jar时,将从您运行bat文件的位置创建jar,而不是在放置批处理文件的文件夹中。假设cmd打开如c:/ temp>在cmd中,jar只会在该文件夹中创建c:/ temp> enter image description here