svn spring项目增量打包工具

前提介绍

项目使用svn ,打包方式为war包,开发工具ide

项目有时候更新功能只需要更新部分class和html文件,但是要每个都打包并不是很简单

听说idea有现成的插件可以实现这个功能,但是我没找到,所以就自己写了一个工具,

我记得以前使用eclipse的时候有这个功能,但是具体忘记了。

下面我就介绍一下

整体逻辑

  1. 获取最近修改的文件

  2. 把需要打包的文件按照包路径放到一个新的包中

  3. 发给项目人员

svn命令 svn status

主要就是用到了这个命令,可以找到最近修改的文件

可以看到前面带M的就是最近更新的

剩下的就是复制文件到新的包了

代码编写过程

Process 类使用

执行cmd命令

用到的命令有

D: 找到盘符

cd /项目路径

svn status 执行svn命令

Process process = run.exec("cmd");OutputStream out = process.getOutputStream();out.write((args[0] + "\n").getBytes());out.write(("cd " + args[1] + "\n").getBytes());out.write("svn status\n".getBytes());out.flush();out.close();InputStream ret = process.getInputStream();InputStream err = process.getErrorStream();String result = readStr(ret);String errResult = readStr(err);

当然路径参数要从参数中传进来,也可以加一下提示信息

public static void main(String[] args) throws IOException {if(null == args || args.length == 0){System.out.println("输入 --help 查看更多命令");return;}if(args[0].indexOf("--help") > -1){System.out.println("程序名称 盘符 项目路径");System.out.println("示例:");System.out.println("java -jar svn-common.jar D: /project/demo");return;}}

文件复制

剩下的就相关文件进行复制,因为不同的文件可能位置不一样要单独处理,自己可以自行处理

最后

有需要代码的可以私信我留下邮箱,当然也可以自己试着写一写

脚本

可以自己搞一个脚本这样用起来更方便

@echo offjava -jar svn-common.jar D: /project/3.0newpause