在测试时找了几个svn服务器做测试都没有问题,可是到客户那里就是连接不上,还报错、
/**
* 初始化操作
*
* @throws Exception
*/
public void initialize() throws Exception { FSRepositoryFactory.setup();
DAVRepositoryFactory.setup();
SVNRepositoryFactoryImpl.setup(); repository = SVNRepositoryFactory.create(SVNURL.parseURIEncoded(this.url));
ISVNAuthenticationManager authManager = SVNWCUtil.createDefaultAuthenticationManager(this.username,this.password);
repository.setAuthenticationManager(authManager);
}/**
* 测试svn连接是否成功
*
* @throws Exception
*/
public String testConnect(String url, String username, String password) {
setUrl(url);
setUsername(username);
setPassword(password);
int i = url.indexOf("//");
// 相对仓库根目录的路径
setPath(url.substring(i + 2).substring(
url.substring(i + 2).indexOf("/"))); try {
initialize();
Collection<SVNDirEntry> entries;
entries = repository.getDir("/", -1, null, (Collection) null);
System.out.println(repository.getRepositoryRoot(true).toDecodedString());
return repository.getRepositoryRoot(true).toDecodedString(); } catch (Exception e) {
e.printStackTrace();
System.out.println("false");
return "false";
}
}报错code:
org.tmatesoft.svn.core.SVNAuthenticationException: svn: Authentication required
for '<http://XXX.xx.xx.xx:80> Please input your domain username and password'
at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.authenticationFail
ed(SVNErrorManager.java:46)
at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.authenticationFail
ed(SVNErrorManager.java:40)
at org.tmatesoft.svn.core.internal.wc.DefaultSVNAuthenticationManager.ge
tNextAuthentication(DefaultSVNAuthenticationManager.java:202)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HT
TPConnection.java:481)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HT
TPConnection.java:255)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HT
TPConnection.java:243)
at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.exchangeCapabili
ties(DAVConnection.java:452)
at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.open(DAVConnecti
on.java:95)
at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.openConnection(D
AVRepository.java:642)
at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.getDir(DAVReposi
tory.java:288)原因应该是他们使用的是域用户认证,那么代码就应该改:
initialize();
ISVNAuthenticationManager authManager = SVNWCUtil.createDefaultAuthenticationManager(this.username,this.password);但是那么改呢,看svnkit文档脑壳都看大了,英语太撇老。求大神帮助
ps:以后得认真学英语。。
解决方案 »
- foreach 标签不循环
- oracle下多国语的测试,在线等(达人请进)
- struts2中<s:property/>取不到Action中的属性
- 关于loadrunner的问题,高手请进
- 谁有weblogic portal里的avitek的例程代码啊?
- 看拉几天的struts,对着书写拉一个简单的struts例子,还是有一些不明白,我说说看,望各位大哥大姐,看看有什么不对的或者疏忽的给予指出
- javamail,有何办法得到某用户的邮箱最大空间和剩余空间?
- weblogic.servlet.internal.ServletContextImpl 在哪个jar文件里
- Help!关于J2EE规范.
- ENTITY BEAN是不是取数据库的瓶颈?
- myeclipse中自动生成变量快捷键是ctrl+2,L 我想修改为其它快捷键 怎么设置比较好 不冲突啊
- ID字符串匹配List中的数据,获得对应的name[算法]
原因:据说是svnkit包的一个bug.
解决方案:
添加JVM系统参数-Dsvnkit.http.methods=Basic,Digest,NTLM
System.setProperty("svnkit.http.methods", "Basic,Digest,NTLM");