svn spring项目增量打包工具

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 off
java -jar svn-common.jar D: /project/3.0new
pause

相关推荐

  1. 前端打包工具

    2024-01-10 15:38:02       40 阅读
  2. webpack 打包前端项目

    2024-01-10 15:38:02       54 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-10 15:38:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-10 15:38:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-01-10 15:38:02       87 阅读
  4. Python语言-面向对象

    2024-01-10 15:38:02       96 阅读

热门阅读

  1. 如何彻底卸除Microsoft Edge浏览器

    2024-01-10 15:38:02       67 阅读
  2. LeetCode每日一题 | 2707. 字符串中的额外字符

    2024-01-10 15:38:02       65 阅读
  3. nodejs 服务端token 高效缓存验证

    2024-01-10 15:38:02       57 阅读
  4. 一种快速对32位/64位整数取模的方法

    2024-01-10 15:38:02       65 阅读
  5. HTML实战演练之比心

    2024-01-10 15:38:02       52 阅读
  6. Oracle19c文档 tnsnames.ora (三)

    2024-01-10 15:38:02       54 阅读
  7. 5个免费、跨平台的SQLite数据库可视化工具

    2024-01-10 15:38:02       56 阅读