SVNKit身份验证始终失败

时间:2016-03-09 05:48:50

标签: svn authorization svnkit

我正在尝试使用svnkit检出我的代码并且它总是返回E170001(403禁止),尽管我可以成功使用命令行svn和tortoise来访问我的仓库。

我使用svnkit的原因是调试使用Jenkins签出时发生的同样问题。

我使用Windows PC运行以下客户端代码:

import org.tmatesoft.svn.core.SVNException;
import org.tmatesoft.svn.core.SVNURL;
import org.tmatesoft.svn.core.auth.BasicAuthenticationManager;
import org.tmatesoft.svn.core.wc.SVNWCUtil;
import org.tmatesoft.svn.core.wc2.SvnCheckout;
import org.tmatesoft.svn.core.wc2.SvnOperationFactory;
import org.tmatesoft.svn.core.wc2.SvnTarget;

import java.io.File;

public class Application {
    public static void main(String[] args) {
        final SvnOperationFactory svnOperationFactory = new SvnOperationFactory();
        BasicAuthenticationManager auth = BasicAuthenticationManager.newInstance(windows_username, password);
        svnOperationFactory.setAuthenticationManager(auth);

        try {
            final SvnCheckout checkout = svnOperationFactory.createCheckout();
            checkout.setSource(SvnTarget.fromURL(SVNURL.parseURIEncoded(pathToTrunk)));
            checkout.setSingleTarget(SvnTarget.fromFile(new File(targetPathOnDisk)));
            checkout.run();
            System.out.println("Success");
        } catch (SVNException e) {
            e.printStackTrace();
        } finally {
            svnOperationFactory.dispose();
        }
    }
}

这是maven POM文件中的依赖项:

    <dependency>
        <groupId>org.tmatesoft.svnkit</groupId>
        <artifactId>svnkit</artifactId>
        <version>1.8.11</version>
    </dependency>

1 个答案:

答案 0 :(得分:0)

如果您的服务器正在使用chroot进行回购,并且如果chroot在CHROOT / etc /中没有/ etc / passwd的副本,您将收到此错误。我花了一些时间来弄清楚这一点,因为它很奇怪,因为SSH连接有效,结账工作,但提交不起作用。