首页 > 解决方案 > SvnKit 导出在 linux 上随机失败

问题描述

我正在使用 svnkit 导出颠覆存储库。我正在使用来自https://gist.github.com/cliffdarling/2360866的代码,稍作修改与读取命令行参数有关。我在 ubuntu 16 上运行它。颠覆服务器使用 Windows 身份验证。当我运行代码时,我会不时收到以下异常。

org.tmatesoft.svn.core.SVNAuthenticationException: svn: E170001: Authentication required for 'https://subversion.myserver.com:443' at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.authenticationFailed(SVNErrorManager.java:53) at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.authenticationFailed(SVNErrorManager.java:47) at org.tmatesoft.svn.core.internal.wc.DefaultSVNAuthenticationManager.getNextAuthentication(DefaultSVNAuthenticationManager.java:233) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:724) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:391) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:379) at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.performHttpRequest(DAVConnection.java:862) at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.exchangeCapabilities(DAVConnection.java:698) at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.open(DAVConnection.java:118) at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.openConnection(DAVRepository.java:1049) at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.getLatestRevision(DAVRepository.java:189)

Java 代码由 bash 脚本运行,它循环遍历 url 列表。我使用 vm 选项 -Dsvnkit.http.methods=Digest,Basic,NTLM,Negotiate。jar 文件执行如下。

java -Dsvnkit.http.methods=Digest,Basic,NTLM,Negotiate -jar exporter.jar url

代码适用于某些 repo url,但有时会失败。它是随机发生的。代码在 Windows 中没有问题。我找不到解决方案。为什么会发生?

标签: javaubuntusvnkit

解决方案


推荐阅读