java调用svnkit连接svn出现Exception in thread "main"怎么解决

本文档详细介绍了在Java程序中使用svnkit库进行SVN连接时遇到的'Exception in thread "main" org.tmatesoft.svn.core.SVNException: svn: E204899: Unable to make directories'错误。该错误通常发生在尝试检出目录时,无法创建本地工作副本。解决方法包括检查目标目录权限、网络连接和SVN配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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.svn.SVNRepositoryFactoryImpl;
import org.tmatesoft.svn.core.internal.wc.DefaultSVNOptions;
import org.tmatesoft.svn.core.wc.ISVNOptions;
import org.tmatesoft.svn.core.wc.SVNClientManager;
import org.tmatesoft.svn.core.wc.SVNRevision;
import org.tmatesoft.svn.core.wc.SVNUpdateClient;
import org.tmatesoft.svn.core.wc.SVNWCUtil;

public class CheckOut {
 //声明SVN客户端管理类
 private static SVNClientManager ourClientManager;

 public static void main(String[] args) throws Exception {
  //初始化支持svn://协议的库。 必须先执行此操作。  
  SVNRepositoryFactoryImpl.setup();
  //相关变量赋值
  SVNURL repositoryURL = null;
  try {
   repositoryURL = SVNURL.parseURIEncoded("svn://localhost/");
  } catch (SVNException e) {
   //
   System.out.println("无法连接");
  }
  String name = "admin";//svn帐号
  String password = "admin";//svn密码  
  ISVNOptions options = SVNWCUtil.createDefaultOptions(true);
  //实例化客户端管理类
  ourClientManager = SVNClientManager.newInstance(
    (DefaultSVNOptions) options, name, password);
  //要把版本库的内容check out到的目录
  File wcDir = new File("D:\test\test");
  //通过客户端管理类获得updateClient类的实例。
  SVNUpdateClient updateClient = ourClientManager.getUpdateClient();
   //sets externals not to be ignored during the checkout
  updateClient.setIgnoreExternals(false);
  //执行check out 操作,返回工作副本的版本号。
  long workingVersion= updateClient
    .doCheckout(repositoryURL, wcDir, SVNRevision.HEAD, SVNRevision.HEAD, SVNDepth.INFINITY,false);
  System.out.println("把版本:"+workingVersion+" check out 到目录:"+wcDir+"中。");

 }
}

 

报这个错

Exception in thread "main" org.tmatesoft.svn.core.SVNException: svn: E204899: Unable to make directories
 at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:64)
 at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:51)
 at org.tmatesoft.svn.core.internal.wc.SVNFileUtil.ensureDirectoryExists(SVNFileUtil.java:1498)
 at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgAbstractUpdate.checkout(SvnNgAbstractUpdate.java:736)
 at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgCheckout.run(SvnNgCheckout.java:14)
 at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgCheckout.run(SvnNgCheckout.java:9)
 at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgOperationRunner.run(SvnNgOperationRunner.java:20)
 at org.tmatesoft.svn.core.internal.wc2.SvnOperationRunner.run(SvnOperationRunner.java:20)
 at org.tmatesoft.svn.core.wc2.SvnOperationFactory.run(SvnOperationFactory.java:1221)
 at org.tmatesoft.svn.core.wc2.SvnOperation.run(SvnOperation.java:292)
 at org.tmatesoft.svn.core.wc.SVNUpdateClient.doCheckout(SVNUpdateClient.java:781)
 at com.catt.demo.CheckOut.main(CheckOut.java:45)

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值