Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SVNKit身份验证总是失败_Svn_Authorization_Svnkit - Fatal编程技术网

SVNKit身份验证总是失败

SVNKit身份验证总是失败,svn,authorization,svnkit,Svn,Authorization,Svnkit,我尝试使用svnkit签出我的代码,它总是返回E170001(403禁止),尽管我可以成功地使用命令行svn和tortoise访问我的repo 我之所以使用svnkit,是为了调试使用Jenkins签出时发生的相同问题 我正在使用Windows PC运行以下客户端代码: import org.tmatesoft.svn.core.SVNException; import org.tmatesoft.svn.core.SVNURL; import org.tmatesoft.svn.core.au

我尝试使用svnkit签出我的代码,它总是返回E170001(403禁止),尽管我可以成功地使用命令行svn和tortoise访问我的repo

我之所以使用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>

org.tmatesoft.svnkit
斯文基特
1.8.11

如果您的服务器正在使用chroot进行repo,并且如果chroot在chroot/etc/中没有/etc/passwd的副本,则会出现此错误。我花了一些时间才弄明白这一点,因为这很奇怪,因为SSH连接可以工作,签出可以工作,但提交不起作用。

请通过电子邮件与我联系(请参见我的个人资料中的内容)?另外一个问题:您使用的是什么协议(http/svn+ssh/…)@DmitryPavlenko,您的电子邮件没有显示在您的个人资料中。我通常使用乌龟,第一次使用时,它会要求我输入一次用户名和密码(windows用户名),然后就不再需要了。因此,我假设这是一个访问回购协议的用户名/密码。有没有办法查询回购信息并检查哪种身份验证?还有可能是什么版本?我还发现命令行svn是1.7.5版本。这重要吗?如何使svnkit的行为与svn client 1.7一样。我的电子邮件是pavlenko@tmatesoft.comPlease,你能试试吗