打包增量包方式.docx
增量式打包方式在Eclipse/SVN中的一键式打包解决方案 在软件开发过程中,项目的不停更新和修改是非常常见的,而每次都需要重新打包整个项目是一件非常麻烦的事情,特别是在项目文件非常多的情况下。这时,使用增量式打包方式可以减少不必要的工作,提高开发效率。 本文将介绍使用Eclipse/SVN中的增量式打包方式,实现一键式打包,简洁高效。需要使用SVN插件在Eclipse中生成补丁文件,然后通过Java代码或Ant脚本将补丁文件应用于项目中,实现自动化增量打包。 生成增量补丁文件的方法有两种,一种是使用Ant脚本,另一种是使用纯Java代码。使用Ant脚本需要先将整个项目重新编译一遍,然后再去class文件目录下找到对应的class文件,最后将class文件复制到指定的文件目录下。使用纯Java代码则不需要重新编译整个项目,可以直接使用Eclipse的自动编译的class文件。 在实现增量式打包时,需要注意以下几点: 1. 生成增量补丁文件:使用SVN插件在Eclipse中生成补丁文件。 2. 读取补丁文件:将补丁文件读取到Java List中。 3. 遍历文件:遍历补丁文件,找到对应的class文件或其他类型的文件。 4. 复制文件:将class文件或其他类型的文件复制到指定的目标路径下。 使用纯Java代码实现增量式打包的优点是: 1. 不需要重新编译整个项目。 2. 配置简单,只需要一个Java类。 3. 耗时少,运行速度快。 4. 可以避免项目中有任何编译错误的java代码。 下面是使用纯Java代码实现增量式打包的示例代码: ```java package com.xyq.maventest; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; public class FreePatchUtil { public static String patchFile = "E:\\workplaces\\EC_TAOBAO\\patch.txt";//补丁文件,由 eclipse svn plugin 生成 public static String projectPath = "E:\\workplaces\\EC_TAOBAO";//项目文件夹路径 public static String webContent = "WebContent";//web 应用文件夹名 public static String classPath = "E:\\workplaces\\EC_TAOBAO\\WebContent\\WEB-INF\\classes";//class 存放路径 public static String desPath = "C:\\Users\\youqiang.xiong\\Desktop\\update_pkg";//补丁文件包存放路径 public static String version = "20170908";//补丁版本 public static void main(String[] args) throws Exception { copyFiles(getPatchFileList()); } / * 读取补丁配置文件解析出修改的文件并返回到 list 集合 * @ret */ public static List<String> getPatchFileList() { // 读取补丁文件 List<String> fileList = new ArrayList<String>(); // ... return fileList; } / * 复制文件到目标路径 * @param fileList */ public static void copyFiles(List<String> fileList) { // 复制文件 // ... } } ``` 使用Eclipse/SVN中的增量式打包方式可以减少不必要的工作,提高开发效率。同时,使用纯Java代码实现增量式打包可以避免项目中有任何编译错误的java代码,並且配置简单,耗时少。