# 增量补丁生成自动化 **Repository Path**: liucq2019/patch ## Basic Information - **Project Name**: 增量补丁生成自动化 - **Description**: 根据代码提交路径列表自动生成补丁包文件,支持普通WEB项目和maven项目的代码提交路径 - **Primary Language**: Java - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: http://www.chendd.cn - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 18 - **Created**: 2024-05-26 - **Last Updated**: 2024-05-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 增量补丁生成自动化 #### 项目介绍 根据代码提交路径列表自动生成补丁包文件,支持普通WEB项目和maven项目的代码提交路径等。 #### 软件架构 采用java swing编写,运行时使用打成的exe文件(运行需要系统安装jdk或jre),完整的软件目录包如下: ![输入图片说明](https://www.chendd.cn/file/ueditor/jsp/upload/image/20211228/1640700402475039651.png "在这里输入图片标题") exe为执行文件; logs目录为采用log4j生成的软件运行日志文件; config目录为相关配置文件; #### 参考使用截图 **软件打开启动进度效果:** ![输入图片说明](https://www.chendd.cn/file/ueditor/jsp/upload/image/20211228/1640700451683066629.png "在这里输入图片标题") **软件主界面** ![输入图片说明](https://www.chendd.cn/file/ueditor/jsp/upload/image/20211228/1640700489377085010.png "在这里输入图片标题") **软件区域介绍** ![输入图片说明](https://www.chendd.cn/file/ueditor/jsp/upload/image/20211228/1640700538792001599.png "在这里输入图片标题") **软件功能点** ![输入图片说明](https://www.chendd.cn/file/ueditor/jsp/upload/image/20211228/1640700569455098391.png "在这里输入图片标题") **软件使用介绍** ![输入图片说明](https://www.chendd.cn/file/ueditor/jsp/upload/image/20211229/1640787208213065566.png "在这里输入图片标题") ![输入图片说明](https://www.chendd.cn/file/ueditor/jsp/upload/image/20211229/1640787208213065566.png "在这里输入图片标题") ![输入图片说明](https://www.chendd.cn/file/ueditor/jsp/upload/image/20211229/1640787247700000800.png "在这里输入图片标题") ![输入图片说明](https://www.chendd.cn/file/ueditor/jsp/upload/image/20211229/1640787258503070689.png "在这里输入图片标题") #### 使用说明 1. 使用svn客户端(或其它方式)导出本次需要整理出补丁的相关文件路径(结果文件可以是xls,xlsx,txt,csv这4中),导入至本软件列表; 2. 选择待整理成的补丁文件的文件夹(为其它WEB容器最新编译后的目录,如Tomcat的webapps下的工程路径); 3. 软件可以列出所有的待生成的补丁文件路径,可以手动设置一些需要排除的路径文件(有的文件需要采用增量方式的整理,不能直接覆盖); 4. 可以设置各个补丁类型文件的匹配方式,如src下的java文件,WebContent下的jsp文件等等; 5. 根据软件的参数设置可支持各类文件路径的生成方式,约定选择文件夹路径为编译后的输出目录,补丁文件列表的路径为提交代码路径中工程名称后的子级目录; 6. 点击生成按钮,软件会在电脑桌面生成以年月日时分的命名生成新文件夹,具体见内。 #### 其它描述说明 **https://www.chendd.cn/blog/article/1475830203530366977.html** 相关链接下载的exe不一定为最新的,作者保持这里的代码为最新的。 #### 涉及技术点 (1)Swing实现一个无关闭窗口的效果(或eclipse启动效果,请在chendd.cn站内搜索); (2)Swing的Mac风格窗口皮肤的使用; (3)软件运行时的图片路径访问的实现; (4)软件运行于含有中文或空格的路径中的路径实现; (5)相关的配置文件放置与软件exe的同级目录的访问; (6)Log4j的运行输出目录为软件的运行目录; (7)含有倒计时功能的alert提示窗口; (8)系统最小化至托盘的实现; (9)最小化托盘实现时的鼠标悬浮提示和右键菜单的乱码问题解决; (10)鼠标点击超链接打开网页的实现; (11)右键功能菜单的实现; (12)读取csv、txt、xls、xlsx的实现; (13)使用exe4j将jar文件打包成exe的过程; (14)文件与文件夹的弹出选择框实现; #### 其它说明 1. 本渣在码云这里是新手水平,摸索着上传了和更新代码,如有不足请指正; 2. 代码比较简单,涉及到一些swing相关的技术知识点(详见涉及技术点); 3. 任何人可以随意下载和更改代码; 4. 个人验证了一些常见的补丁整理场景,如内部类的,传统WEB工程与maven工程的提交文件路径等; 5. 软件默认设置了3中解析文件路径的规范: 5.1 /src目录下的class或其它文件整理;(可通过参数设置来替换该路径) 5.2 /WebContent目录下的jsp等文件的整理;(可通过参数设置来替换该路径) 5.3 不在这两种路径下的其它路径处理方式为文件路径下的文件存在则直接拷贝;( **可设置多组参数来替换该路径中的多个内容** ) #### 问题======================================= 如果在某个类里面创建的有其它内,内的层级与public类属于同级别的,而这个默认的无修饰符的类也不属于Test类的内部类,此时编译成的class文件会有2个,而源码在提交至SVN时只会有一个Test.java,故会导致无法去根据规则找到相应的A.class文件。。。。。。。参考如下吧: public class Test implements A { //TODO } interface A { //TODO } 个人博客主页 https://www.chendd.cn/