- 浏览: 753049 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
lgh1992314:
a offset: 26b offset: 24c offse ...
java jvm字节占用空间分析 -
ls0609:
语音实现在线听书http://blog.csdn.net/ls ...
Android 语音输入API使用 -
wangli61289:
http://viralpatel-net-tutorials ...
Android 语音输入API使用 -
zxjlwt:
学习了素人派http://surenpi.com
velocity宏加载顺序 -
tt5753:
谢啦........
Lucene的IndexWriter初始化时的LockObtainFailedException的解决方法
1.pom依赖
<dependency> <groupId>org.tmatesoft.svnkit</groupId> <artifactId>svnkit</artifactId> <version>1.3.5</version> </dependency>
2.java调用代码
import java.io.File;
import org.tmatesoft.svn.core.SVNDepth; import org.tmatesoft.svn.core.SVNException; import org.tmatesoft.svn.core.SVNURL; import org.tmatesoft.svn.core.internal.io.dav.DAVRepositoryFactory; import org.tmatesoft.svn.core.internal.wc.DefaultSVNOptions; import org.tmatesoft.svn.core.wc.SVNClientManager; import org.tmatesoft.svn.core.wc.SVNLogClient; import org.tmatesoft.svn.core.wc.SVNRevision; import org.tmatesoft.svn.core.wc.SVNUpdateClient; public class SvnTest { static { DAVRepositoryFactory.setup(); } private SVNClientManager manager; private SVNURL repositoryBaseUrl; public SvnTest() { DefaultSVNOptions options = new DefaultSVNOptions(); manager = SVNClientManager.newInstance(options); // manager = SVNClientManager.newInstance(options, // "username","passwrod"); //如果需要用户名密码 try { repositoryBaseUrl = SVNURL .parseURIDecoded("http://svn.apache.org/repos/asf/logging/log4j/trunk/src/main/java/org/apache/log4j/or"); // 传入svn地址 } catch (SVNException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void test() throws SVNException { SVNLogClient logClient = manager.getLogClient(); // svn list DirEntryHandler handler = new DirEntryHandler(); // 在svn // co时对每个文件目录的处理,实现ISVNDirEntryHandler接口 logClient.doList(repositoryBaseUrl, SVNRevision.HEAD, SVNRevision.HEAD, false, true, handler); // 列出当前svn地址的目录,对每个文件进行处理 // svn co UpdateEventHandler svnEventHandler = new UpdateEventHandler(); // svn co时对每个文件的处理 SVNUpdateClient client = manager.getUpdateClient(); client.setIgnoreExternals(true); client.setEventHandler(svnEventHandler); File to = new File("e:\\log\\testsvn"); // co出來的文件存放目錄 client.doCheckout(repositoryBaseUrl, to, SVNRevision.HEAD, SVNRevision.HEAD, SVNDepth.INFINITY, false); // svn update client.setIgnoreExternals(true); client.setEventHandler(svnEventHandler); client.doUpdate(to, SVNRevision.HEAD, SVNDepth.INFINITY,true, false); } public static void main(String[] args) throws SVNException { SvnTest svntest = new SvnTest(); svntest.test(); } }
import java.util.ArrayList; import java.util.List; import org.tmatesoft.svn.core.ISVNDirEntryHandler; import org.tmatesoft.svn.core.SVNDirEntry; import org.tmatesoft.svn.core.SVNException; import org.tmatesoft.svn.core.SVNNodeKind; import com.alibaba.tools.code.SearchConfig; public class DirEntryHandler implements ISVNDirEntryHandler { @Override public void handleDirEntry(SVNDirEntry dirEntry) throws SVNException { System.out.println(dirEntry.getRelativePath() + "/" + dirEntry.getName()); } }
import java.io.IOException; import org.apache.commons.io.FileUtils; import org.tmatesoft.svn.core.SVNCancelException; import org.tmatesoft.svn.core.SVNNodeKind; import org.tmatesoft.svn.core.wc.ISVNEventHandler; import org.tmatesoft.svn.core.wc.SVNEvent; import org.tmatesoft.svn.core.wc.SVNEventAction; public class UpdateEventHandler implements ISVNEventHandler { public void handleEvent(SVNEvent event, double progress) { SVNEventAction action = event.getAction(); SVNNodeKind nodeKind = event.getNodeKind(); if (SVNNodeKind.DIR.equals(nodeKind)) { // folder System.out.println(event.getFile().getName()); } else { // treat as file for all other type if (action == SVNEventAction.UPDATE_DELETE) { try { System.out.println(event.getFile().getName() + "\t" + FileUtils.readFileToString(event.getFile())); } catch (IOException e) { } } else if (action == SVNEventAction.UPDATE_ADD || action == SVNEventAction.UPDATE_UPDATE) { try { System.out.println(event.getFile().getName() + "\t" + FileUtils.readFileToString(event.getFile())); } catch (IOException e) { } } } } public void checkCancelled() throws SVNCancelException { } }
输出:
/or jms/jms jms/MessageRenderer.java/MessageRenderer.java jms/package.html/package.html sax/sax sax/AttributesRenderer.java/AttributesRenderer.java sax/package.html/package.html DefaultRenderer.java/DefaultRenderer.java ObjectRenderer.java/ObjectRenderer.java RendererMap.java/RendererMap.java ThreadGroupRenderer.java/ThreadGroupRenderer.java package.html/package.html testsvn testsvn
API参考:
发表评论
-
对字符串进行验证之前先进行规范化
2013-09-17 23:18 13947对字符串进行验证之前先进行规范化 应用系统中经常对字 ... -
使用telnet连接到基于spring的应用上执行容器中的bean的任意方法
2013-08-08 09:17 1470使用telnet连接到基于spring的应用上执行容器中 ... -
jdk7和8的一些新特性介绍
2013-07-06 16:07 10110更多ppt内容请查看:htt ... -
Lucene的IndexWriter初始化时的LockObtainFailedException的解决方法
2013-06-28 21:35 11798原文链接: http://www.javaarch.net ... -
java对于接口和抽象类的代理实现,不需要有具体实现类
2013-06-12 09:50 2952原文链接:http://www.javaarch.net/j ... -
Excel2007格式分析和XML解析
2013-06-07 09:56 10727在物料清单采购中,用到excel上传文件解析功能,不 ... -
Java EE 7中对WebSocket 1.0的支持
2013-06-05 09:27 3836原文链接:http://www.javaarch.n ... -
java QRCode生成示例
2013-06-05 09:26 1509原文链接:http://www.javaarch.n ... -
Spring Security Logout
2013-06-03 00:05 2368原文地址:http://www.javaarch.net/ ... -
Spring Security Basic Authentication
2013-06-03 00:04 1738原文地址:http://www.javaarch.net/ ... -
Spring Security Form Login
2013-06-02 16:16 2146原文地址:http://www.javaarch.net/j ... -
spring3 的restful API RequestMapping介绍
2013-06-02 14:53 1152原文链接:http://www.javaarch.net/j ... -
Java Web使用swfobject调用flex图表
2013-05-28 19:05 1120Java Web使用swfobject调用 ... -
spring使用PropertyPlaceholderConfigurer扩展来满足不同环境的参数配置
2013-05-21 15:57 3331spring使用PropertyPlaceholderCon ... -
java国际化
2013-05-20 20:57 4472java国际化 本文来自:http://www.j ... -
RSS feeds with Java
2013-05-20 20:52 1214RSS feeds with Java 原文来自:htt ... -
使用ibatis将数据库从oracle迁移到mysql的几个修改点
2013-04-29 10:40 1674我们项目在公司的大战略下需要从oracle ... -
线上机器jvm dump分析脚本
2013-04-19 10:48 2904#!/bin/sh DUMP_PIDS=`p ... -
spring3学习入门示例工程
2013-04-18 09:28 11261. github地址 https://github ... -
spring map使用annotation泛型注入问题分析
2013-04-15 13:30 8546今天在整一个spring的ioc学习demo,碰到 ...
相关推荐
SVNKit是一个完全由Java编写的Subversion客户端库,它允许开发者在Java应用程序中直接访问Subversion服务器而无需安装其他额外的客户端程序。这使得开发者能够更灵活地集成SVN功能到自己的项目中。 #### SVNUtil类...
在Java中进行SVN操作,通常会借助于一些库,如SVNKit,这是一个用纯Java编写的SVN客户端库。 首先,我们需要理解SVN的基本概念。版本控制系统是用来管理源代码版本的工具,它可以记录每次代码更改,以便于回滚到...
SVNKit是一个纯Java实现的SVN客户端库,提供了丰富的API,可以实现对SVN的各种操作,如添加、删除、提交、更新等。 - 首先,需要在项目中引入SVNKit依赖,然后创建SVNClientManager实例,这是所有SVN操作的基础。 ...
以下是一个简单的Java代码示例,用于删除指定路径的SVN信息: ```java import java.io.File; public class SvnDeleter { public static void main(String[] args) { String path = "path/to/your/folder"; // ...
1. **下载SVN客户端**:首先,你需要从官方网站或者第三方源下载适用于你操作系统的SVN客户端,例如TortoiseSVN。确保选择与你的操作系统匹配的版本。 2. **安装SVN客户端**:运行下载的安装程序,按照提示完成安装...
本文将详细讲解如何在Rich Client Platform(RCP)开发中集成svn客户端,以实现高效的代码管理和协作。 标题“svn-rcp开发实例”指的是将Subversion的功能整合到基于Eclipse RCP(Rich Client Platform)的应用程序...
- 在安装SVN客户端时,建议选择全部安装选项,避免StatSVN无法正常调用SVN命令的问题。 - 使用Statsvn时,需要注意编码格式设置,确保统计数据的准确性。 #### 十、小结 通过以上步骤,我们可以利用Statsvn轻松地...
Subclipse是一款专门为Eclipse设计的SVN客户端插件,它可以让用户在Eclipse IDE内直接操作SVN仓库。首先,需要访问Subclipse官网(http://subclipse.tigris.org/),下载最新版本的Subclipse插件。假设当前所需版本...
2. **SVNKit**:作为Java实现的SVN客户端库,SVNKit为Java开发者提供了访问和操作SVN仓库的接口。它支持所有主要的SVN功能,包括创建、更新、提交、导出、导入、分支、合并等。SVNKit使得在Java应用中集成版本控制变...
这些任务都是通过调用SVN客户端工具来实现的,因此需要确保已经安装了SVN客户端并且可以被Ant访问到。 ##### 2. Ant的SVN任务示例 下面是一些常用的Ant的SVN任务示例: - **svnupdate**:用于更新工作副本。 ```...
这是因为IDEA等集成开发环境需要调用命令行客户端工具来进行版本控制操作,如不勾选此选项,则后续在IDEA中配置版本控制系统时可能会找不到必要的`svn.exe`文件。 #### 三、TortoiseSVN的使用 ##### 3.1 SVN版本...
- 同样,你也需要安装SVN客户端,如TortoiseSVN,并确保其命令行工具svn可以在Ant脚本中调用。 2. **创建Ant构建文件**: Ant的工作主要通过一个XML格式的构建文件(通常命名为build.xml)来定义。在这个文件中,...
eureka-producer-consumer:利用eureka实现服务提供与调用示例 spring-cloud-hystrix:Hystrix熔断的使用示例 hystrix-dashboard-turbine:熔断监控Hystrix Dashboard和Turbine的示例 spring-cloud-config-git:配置...
**描述解读:** 描述指出,这是一个开源的Java API,它的主要功能是允许开发人员通过编写Java代码来调用Redmine的接口,从而实现与Redmine系统的数据通信。在实际应用前,需要先将源代码编译成jar包,以便在Java项目...
eureka-producer-consumer:利用eureka实现服务提供与调用示例 spring-cloud-hystrix:Hystrix熔断的使用示例 hystrix-dashboard-turbine:熔断监控Hystrix Dashboard和Turbine的示例 spring-cloud-config-git:配置...
SVNKit的API提供了诸如`org.tmatesoft.svn.core.SVNClientManager`,`org.tmatesoft.svn.core.SVNRepository`和`org.tmatesoft.svn.core.wc.SVNWCUtil`等类,它们分别用于管理SVN客户端,连接SVN仓库,以及处理工作...
1. 支持SVN 1.6.x版本:svnant-1.1.0-RC2针对当时的最新SVN版本进行了优化,确保了与SVN客户端的良好兼容性。 2. 增强的任务集:此版本提供了丰富的Ant任务,如`svncheckout`(检出)、`svncommit`(提交)、`svn...
此外,还提供了一段Java代码示例,虽然这段代码与SVN安装本身的关系不明确,但它展示了一个利用Java编程处理文件和目录的实用案例。对于开发人员来说,了解SVN的安装与配置以及如何在开发环境中使用SVN是非常重要的...
- **JSP中的使用**:在JSP页面引入必要的JavaScript库和JSON-RPC客户端脚本,即可开始调用后端Java服务。 - **引入JsonRpcClient.js**:这是客户端库,负责处理与服务器端的通信和数据解析。 - **调用**:使用提供的...
开发者可以利用SVNKit提供的`org.tmatesoft.svn.core.SVNClientManager`类创建一个SVN客户端实例,然后调用其方法来执行各种SVN操作。例如,获取文件的提交历史可以使用`SVNLogClient.doLog()`方法,传入文件路径和...