Java使用DOS命令压缩jar包
转载请注明,谢谢!
/**
* 打包jar
* 时间:2018-04-25
* 作用:dos压缩jar包
* @author Jason
*
*/
public class JarUtils {
/**
* 压缩jar包
* @param targetDir 需要压缩成jar包的目录
* @param jarName jar包的名字
*/
public static void compressJar(String targetDir,String jarName){
String dirName = targetDir.substring(0, 2);
String parentDir = targetDir.substring(0, targetDir.lastIndexOf("\\"));
String jarfile = targetDir.substring(targetDir.lastIndexOf("\\")+1);
String commandStr = "cmd /c "+dirName+" && cd /d "+parentDir+" && jar cvf "+jarName+".jar "+jarfile+"\\*";
exeCmd(commandStr);
}
/**
* 执行命令行
* @param commandStr dos命令
*/
private static void exeCmd(String commandStr) {
BufferedReader br = null;
try {
Process p = Runtime.getRuntime().exec(commandStr);
br = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = null;
StringBuilder sb = new StringBuilder();
while ((line = br.readLine()) != null) {
sb.append(line + "\n");
}
System.out.println(sb.toString());
} catch (Exception e) {
e.printStackTrace();
}
finally
{
if (br != null)
{
try {
br.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
}