`
weixl
  • 浏览: 22974 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

在使用svn或vss时,更新文件较多,编程实现打jar补丁包的方法

阅读更多

    发生的原因是这样的:

    系统上线或在上线前测试,每次bug修改后,都采用补丁包的方法,打个jar包后解压,更新到相应的服务器目录上去,当更新文件比较多的时候,就会发现用鼠标一个一个选择文件后右键,export - jar file 很麻烦,于是想写个程序自动打包。

    原理很简单,当使用svn 或 vss 时候,我们check out 了某些文件做修改,它们是可写的,即 canWrite(). 只需要把需要打包的文件根目录,或源码根路径,例如com为 java 源码包根路径,jsp 为 jsp文件跟路径,copy到某个文件夹下面。例如 c:\\xxx,然后把本地不是canWrite()的文件删除即可,这样获得的即为 用eclipse 或 myeclipse 打完 jar 包然后解压缩后的效果。

 

     代码如下(以 jsp 文件为例,java代码由于需要找到class文件,一般都在web-inf\classes下面,中间需要做个目录或文件转换,用java文件来判断其对应的class文件是否应该被删除,将java文件的目录前面加上web-inf\classes目录找到class文件做删除操作):

 

import java.io.File;
import java.util.Date;

public class CreateJarPackage
{
    public static void main(String[] args){
        System.out.println("begin time at " + new Date());
        File file = new File("c:\\weixl");
        createJarPackage(file);
        System.out.println("end time at " + new Date());
    }
   
    public static void createJarPackage(File file){
        if(file.isDirectory()){
            File[] subFile = file.listFiles();
            if (subFile.length == 0) {
                file.delete(); //删除空的目录
            }
            for (int i = 0; i < subFile.length; i++) {
                createJarPackage(subFile[i]);
            }
        }else{
            //删除只读的文件
            if(!file.canWrite()){
                file.delete();
            }
        }
    }

}

 

   

    

分享到:
评论

相关推荐

    vss2svn使用说明vss导入subversion教程

    在本文中,我们将详细介绍如何将Visual SourceSafe (VSS)的数据迁移到Subversion (SVN)的步骤,以及在过程中可能会遇到的问题和解决方案。VSS2svn工具是实现这一转换的关键。 首先,我们需要获取vss2svn工具。你...

    svn通用jar包,快使用吧

    在实际使用这个`jar`包时,开发者需要将其添加到他们的项目构建路径中,然后就可以通过导入相应的类和方法来调用SVN功能。例如,他们可能会创建一个`SvnClient`对象,使用它来连接到SVN服务器,然后执行`checkout`、...

    批量清除SVN或VSS工具

    本文将详细介绍如何批量清除SVN和VSS的相关文件,以及如何使用特定工具来实现这一目标。 首先,SVN和VSS在工作副本中会留下特定的文件和目录,这些文件用于存储元数据和保持版本信息。对于SVN,主要的元数据文件有`...

    SVN及VSS建立标签方法

    SVN(Subversion)和 VSS(Visual SourceSafe)是两种常用的版本控制系统,本文将介绍在 SVN 和 VSS 中建立标签的方法。 1. SVN 建立标签方法 在 SVN 中,建立标签的方法有多种,下面将介绍三种常用的方法。 1.1 ...

    svn/vss配置库命令操作指南

    SVN支持分支和合并,更适合大型团队协作,而VSS则相对简单,适合小型项目或个人使用。 在实际工作中,理解并熟练掌握这些命令操作对于提高开发效率、确保代码安全性和团队协作至关重要。无论你是新手还是经验丰富的...

    svn1.10jar包

    2. **content.jar**:这是包含SVN内容的Java归档文件,可能包含了类库、资源文件等,供Java应用程序在运行时加载和使用。 3. **artifacts.jar**:此文件可能包含的是SVN 1.10的其他依赖组件或工件,比如第三方库,...

    SVN清除工具VSS文件清除工具

    由于VSS现在已经过时,很多团队已经转向更现代的版本控制系统如SVN或Git,因此,对于不再使用VSS的用户,清理这些文件是有意义的。 `ClearSVNorVSS.exe`可能是这个清除工具的可执行程序。运行这个程序,用户可以...

    svn for Vss2008

    "svn for Vss2008"涉及的主题是如何将Subversion集成到Visual SourceSafe 2008的环境中,利用AnkhSVN插件在Visual Studio中实现高效的版本控制。这个过程中包括了对Subversion和VSS2008特性的理解,以及如何通过Ankh...

    vss的svn插件 最新版本

    5. **安装与使用**:安装AnkhSvn-2.1.8420.8.msi文件时,按照标准的MSI安装流程进行即可,完成后会在Visual Studio的菜单栏看到相关的SVN选项。用户需确保先安装了Visual Studio和SVN服务器,然后才能正常使用插件。...

    VSS to SVN Tools

    VSS2SVN is a simple utility project that aims to help migrate the contents of a source safe database to subversion. To do that, VSS2SVN uses two key assemblies: The Microsoft sourcesafe interop ...

    svn 配置与jar包

    在Eclipse项目中,可以通过添加SVNKit的jar包来实现对SVN的操作。 2. **JNA库**:如果使用SVNKit,还需要Java Native Access (JNA)库,它允许Java代码调用操作系统原生函数,以支持SVNKit的底层功能。 3. **其他...

    vss库迁移到SVN库的操作方法

    【VSS库迁移到SVN库的操作方法】 Visual SourceSafe(VSS)是一款由Microsoft开发的版本控制系统,而Subversion(SVN)则是一个开源的版本控制系统,被广泛用于项目协作和源代码管理。在某些情况下,用户可能需要将...

    svn1.8.18jar包

    在描述中提到的"svn1.8.18jar包"是SVN 1.8.18版本的核心库文件,通常以`.jar`(Java Archive)格式提供,它包含了运行SVN客户端或服务端所需的所有Java代码。将这个`.jar`文件放入MyEclipse的`dropins`目录意味着将...

    svn开发相关的jar包

    在Java开发中,为了在应用程序中集成SVN功能,如提交、更新、回滚等操作,开发者通常需要引入特定的SVN库,即jar包。"svn开发相关的jar包"指的就是这些用于支持SVN操作的Java类库。 在提供的信息中,我们只有一个子...

    vss库迁移到svn库

    Visual SourceSafe(VSS)是微软提供的一款早期的版本控制系统,它在小型团队中被广泛使用,但由于其局限性和一些已知问题,如性能、备份恢复和并发编辑能力较弱,许多用户转向了Subversion(SVN)等更现代的版本...

    SVN资源库所需jar包

    为了在Eclipse中实现SVN功能,我们需要将这些jar包添加到Eclipse的系统路径中。通常,这些jar包包含了 SVN 客户端库,如Apache的Subversion Java库(JavaHL)和SVNKit。JavaHL是用Java编写的本地接口,直接调用SVN的...

    java web项目自动打补丁包 web工程项目 自动化 补丁包

    在Java Web项目中,补丁包通常是包含更新代码的zip或jar文件,通过自动化流程应用到生产环境中。 8. **文件替换**:Python脚本根据更新日志,定位到项目中的特定文件,然后执行替换操作。这一步骤确保只有需要更新...

    SVN 插件Jar包

    SVN(Subversion)是一种广泛使用的版本控制系统...这些文件在安装或更新插件时会被使用,但具体操作需要根据对应的IDE或平台进行。总的来说,SVN插件是开发团队协作中不可或缺的工具,它使得版本控制更加便捷和高效。

    CVS SVN VSS 对比 说明

    VSS相比于CVS和SVN,其主要缺点在于对并发编辑的支持不够完善,以及在处理大文件和非文本数据时的不稳定表现。此外,VSS的数据库模型和备份策略有时也会引发数据丢失或损坏的问题,这在关键的软件开发项目中可能成为...

Global site tag (gtag.js) - Google Analytics