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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/320292.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

PPT插件-大珩助手-保留原素材的位置和大小一键替换

保留原素材的位置和大小一键替换 若勾选了一键替换,对于从素材库插入的图形,可以使得它的位置、大小与幻灯片中选中的形状一致 软件介绍 PPT大珩助手是一款全新设计的Office PPT插件,它是一款功能强大且实用的PPT辅助工具,支持W…

软件测试|QtDesigner配置以及使用

简介 上一篇文章我们介绍了PyQt5环境的安装和配置,并且安装了Qt tools工具,本文我们将介绍如何使用Qt tools的QtDesigner如何使用。 QtDesigner 的启动和入门 打开我们的项目从顶部菜单栏选择:Tools -> ExternalTools -> QtDesigner…

电脑重置网络后连不上网了怎么办

一般电脑重置网络后都会自动重新下载好网络配置,但是不免会出现一些意外,接下来就我遇到的重置后无法联网的解决方案 做一个分享: 1、按下“winR”打开运行输入 services.msc 。 2、找到 WLAN AutoConfig 和 Wired AutoConfig 服务&#xff…

class_3:lambda表达式

1、lambda表达式是c11引入的一种匿名函数的方式&#xff0c;它允许你在需要函数的地方内联的定义函数&#xff0c;而无需单独命名函数&#xff1b; #include <iostream>using namespace std;bool compare(int a,int b) {return a > b; }int getMax(int a,int b,bool (…

跟着cherno手搓游戏引擎【6】ImGui

导入ImGui&#xff1a; 下载链接&#xff1a; GitHub - TheCherno/imgui: Dear ImGui: Bloat-free Immediate Mode Graphical User interface for C with minimal dependencies 新建文件夹&#xff0c;把下载好的文件放入对应路径&#xff1a; SRC下的premake5.lua文件&#…

服务器感染了.pings勒索病毒,如何确保数据文件完整恢复?

导言&#xff1a; 随着科技的不断进步&#xff0c;网络犯罪也在不断演变。其中之一的.pings勒索病毒是一种危险的恶意软件&#xff0c;它能够加密用户的数据文件&#xff0c;并要求支付赎金以解密这些文件。在本文中&#xff0c;91数据恢复将介绍.pings勒索病毒&#xff0c;以…

Linux学习(1):目录结构、编辑器和用户管理

Linux学习&#xff08;1&#xff09;&#xff1a;目录结构、编辑器和用户管理 1 Linux目录结构2 vi和vim编辑器2.1 快捷键练习 3 用户管理3.1 添加用户3.2 删除用户即主目录3.3 切换用户 4 用户组 1 Linux目录结构 在linux世界里&#xff0c;一切皆为文件。 linux目录结构&a…

vue 自定义网页图标 favicon.ico 和 网页标题

效果预览 1. 添加配置 vue.config.js 在 module.exports { 内添加 // 自定义网页图标pwa: {iconPaths: {favicon32: "./favicon.ico",favicon16: "./favicon.ico",appleTouchIcon: "./favicon.ico",maskIcon: "./favicon.ico",msTil…

网站后台拿Webshell

通过注入或者其他途径&#xff0c;获取网站管理员账号和密码后&#xff0c;找到后台登录地址&#xff0c;登录后&#xff0c;寻找后台漏洞上传网页后门&#xff0c;获取网站的webshell webshell的作用是方便攻击者&#xff0c;webshel是拥有fso权限&#xff0c;根据fso权限的不…

[Docker] 基本名词

镜像(iamge)&#xff1a; Docker 镜像就好比是一个模板&#xff0c;可以通过这个模板来创建容器服务&#xff0c; 容器&#xff08;container&#xff09;: Docker利用容器技术&#xff0c;独立运行一个或则多个应用&#xff0c;通过镜像来创建的。 启动&#xff0c;停止&a…

RHCE9学习指南 第19章 网络时间服务器

19.1 时间同步的必要性 对于一些服务来说对时间要求非常严格&#xff0c;例如&#xff0c;图19-1所示由三台服务器搭建的ceph集群。 图19-1 三台机器搭建的集群对时间要求比较高 这三台服务器的时间必须要保持一样&#xff0c;如果不一样&#xff0c;就会显示报警信息。那么…

洛谷 P1442 铁球落地【线性dp+线段树预处理+离散化】

原题链接&#xff1a;https://www.luogu.com.cn/problem/P1442 题目描述 在二维坐标系内有 n 个平台&#xff08;定义平台是一条两端点纵坐标相同的开线段&#xff0c;开线段指线段两个端点不算做线段本身&#xff09;和一个铁球&#xff0c;铁球如果下面没有物体&#xff0c…

轻量级接口自动化测试框架

大致思路: jmeter完成接口脚本,Ant完成脚本执行并收集结果生成报告,最后利用jenkins完成脚本的自动集成运行. 环境安装: 1.jdk1.7 配置环境变量(参考前面的分页) 2.jmeter解压到本地,ant解压到本地 3.Ant解压到本地,并配置环境变量 ANT_HOME:D:\jmeter\apache-ant-1.9.6 P…

玩转Mysql 八 (MySQ优化入门篇)

一路走来&#xff0c;所有遇到的人&#xff0c;帮助过我的、伤害过我的都是朋友&#xff0c;没有一个是敌人。如有侵权&#xff0c;请留言&#xff0c;我及时删除&#xff01; 前言&#xff1a; 一个高性能&#xff0c;稳定的数据库集群并不是指的某一特性优化&#xff0c;就…

嵌入式软件开发人员有必要学习系统移植的知识吗?【ppt获取见文末】

《从零开始学ARM》的配套视频说明 为了让粉丝更好的学习我的新书里面的知识&#xff0c; 一口君特地录制了配套学习视频&#xff0c; 《从0学ARM第一期》 《从0学ARM第一期》 视频已经免费发布在B站&#xff0c; 而书中除了ARM汇编、裸机开发等知识&#xff0c;还涉及到…

Java研学-过滤与监听

一 过滤器 Filter 1 介绍 Java Web 组件之一(Servlet 的功能)&#xff0c;可改变一个request和修改一个response。Filter不是Servlet&#xff0c;不能产生一个response&#xff0c;它是在一个request 到达Servlet之前预处理 request&#xff0c;也可以在response离开Servlet 后…

音频和视频基础知识

声音 什么是声音&#xff1a; 声音是由物体振动产生的&#xff0c;物体发生振动&#xff0c;对周围的空气产生挤压&#xff0c;从而产生声音。声音是一种压力波&#xff0c;使周围的空气产生疏密变化&#xff0c;形成疏密相间的纵波&#xff0c;由此产生了声波。 声波三要素&…

HTML如何设置背景图片?有几种设置背景图片的办法?

我们在编辑网页时&#xff0c;如果觉得网页过于单调&#xff0c;这时便可以加上一张自己喜欢的背景图。这篇文章中&#xff0c;W3Cschool 小编给大家介绍下 HTML 中如何设置背景图片&#xff0c;分别有哪几种设置背景图片的方法。 方法一、HTML中设置背景图片 HTML中的<bo…

5.Pytorch模型单机多GPU训练原理与实现

文章目录 Pytorch的单机多GPU训练1)多GPU训练介绍2)pytorch中使用单机多GPU训练DistributedDataParallel(DDP)相关变量及含义a)初始化b)数据准备c)模型准备d)清理e)运行 3)使用DistributedDataParallel训练模型的一个简单实例 欢迎访问个人网络日志&#x1f339;&#x1f339;知…

HTML登录页面透明样式

html <body> <form> <h4 style"text-align:center">登录中心</h4> <hr /> <br /> <div class"row mb-5"> <label class"col-sm-2 col-form-label"…