发生的原因是这样的:
系统上线或在上线前测试,每次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();
}
}
}
}
分享到:
相关推荐
在本文中,我们将详细介绍如何将Visual SourceSafe (VSS)的数据迁移到Subversion (SVN)的步骤,以及在过程中可能会遇到的问题和解决方案。VSS2svn工具是实现这一转换的关键。 首先,我们需要获取vss2svn工具。你...
在实际使用这个`jar`包时,开发者需要将其添加到他们的项目构建路径中,然后就可以通过导入相应的类和方法来调用SVN功能。例如,他们可能会创建一个`SvnClient`对象,使用它来连接到SVN服务器,然后执行`checkout`、...
本文将详细介绍如何批量清除SVN和VSS的相关文件,以及如何使用特定工具来实现这一目标。 首先,SVN和VSS在工作副本中会留下特定的文件和目录,这些文件用于存储元数据和保持版本信息。对于SVN,主要的元数据文件有`...
SVN(Subversion)和 VSS(Visual SourceSafe)是两种常用的版本控制系统,本文将介绍在 SVN 和 VSS 中建立标签的方法。 1. SVN 建立标签方法 在 SVN 中,建立标签的方法有多种,下面将介绍三种常用的方法。 1.1 ...
SVN支持分支和合并,更适合大型团队协作,而VSS则相对简单,适合小型项目或个人使用。 在实际工作中,理解并熟练掌握这些命令操作对于提高开发效率、确保代码安全性和团队协作至关重要。无论你是新手还是经验丰富的...
2. **content.jar**:这是包含SVN内容的Java归档文件,可能包含了类库、资源文件等,供Java应用程序在运行时加载和使用。 3. **artifacts.jar**:此文件可能包含的是SVN 1.10的其他依赖组件或工件,比如第三方库,...
由于VSS现在已经过时,很多团队已经转向更现代的版本控制系统如SVN或Git,因此,对于不再使用VSS的用户,清理这些文件是有意义的。 `ClearSVNorVSS.exe`可能是这个清除工具的可执行程序。运行这个程序,用户可以...
"svn for Vss2008"涉及的主题是如何将Subversion集成到Visual SourceSafe 2008的环境中,利用AnkhSVN插件在Visual Studio中实现高效的版本控制。这个过程中包括了对Subversion和VSS2008特性的理解,以及如何通过Ankh...
5. **安装与使用**:安装AnkhSvn-2.1.8420.8.msi文件时,按照标准的MSI安装流程进行即可,完成后会在Visual Studio的菜单栏看到相关的SVN选项。用户需确保先安装了Visual Studio和SVN服务器,然后才能正常使用插件。...
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 ...
在Eclipse项目中,可以通过添加SVNKit的jar包来实现对SVN的操作。 2. **JNA库**:如果使用SVNKit,还需要Java Native Access (JNA)库,它允许Java代码调用操作系统原生函数,以支持SVNKit的底层功能。 3. **其他...
【VSS库迁移到SVN库的操作方法】 Visual SourceSafe(VSS)是一款由Microsoft开发的版本控制系统,而Subversion(SVN)则是一个开源的版本控制系统,被广泛用于项目协作和源代码管理。在某些情况下,用户可能需要将...
在描述中提到的"svn1.8.18jar包"是SVN 1.8.18版本的核心库文件,通常以`.jar`(Java Archive)格式提供,它包含了运行SVN客户端或服务端所需的所有Java代码。将这个`.jar`文件放入MyEclipse的`dropins`目录意味着将...
在Java开发中,为了在应用程序中集成SVN功能,如提交、更新、回滚等操作,开发者通常需要引入特定的SVN库,即jar包。"svn开发相关的jar包"指的就是这些用于支持SVN操作的Java类库。 在提供的信息中,我们只有一个子...
Visual SourceSafe(VSS)是微软提供的一款早期的版本控制系统,它在小型团队中被广泛使用,但由于其局限性和一些已知问题,如性能、备份恢复和并发编辑能力较弱,许多用户转向了Subversion(SVN)等更现代的版本...
为了在Eclipse中实现SVN功能,我们需要将这些jar包添加到Eclipse的系统路径中。通常,这些jar包包含了 SVN 客户端库,如Apache的Subversion Java库(JavaHL)和SVNKit。JavaHL是用Java编写的本地接口,直接调用SVN的...
在Java Web项目中,补丁包通常是包含更新代码的zip或jar文件,通过自动化流程应用到生产环境中。 8. **文件替换**:Python脚本根据更新日志,定位到项目中的特定文件,然后执行替换操作。这一步骤确保只有需要更新...
SVN(Subversion)是一种广泛使用的版本控制系统...这些文件在安装或更新插件时会被使用,但具体操作需要根据对应的IDE或平台进行。总的来说,SVN插件是开发团队协作中不可或缺的工具,它使得版本控制更加便捷和高效。
VSS相比于CVS和SVN,其主要缺点在于对并发编辑的支持不够完善,以及在处理大文件和非文本数据时的不稳定表现。此外,VSS的数据库模型和备份策略有时也会引发数据丢失或损坏的问题,这在关键的软件开发项目中可能成为...