java - SVNKit 使用 auth 文件夹

标签 java svnkit

我正在使用 SVNKit (1.8.4) 从不同的存储库、不同的服务器上、使用不同的协议(protocol)检索日志(仅日志)。整个过程在 Tomcat 服务器上运行,并且每 2 分钟查询一次每个 SVN 服务器以进行更改。

经过反复试验,我想出了一个方案,我为每个 SVN 客户端实例创建一个文件夹,这样它就可以将所有凭据等存储在自己独立的地方.

下面是创建 SVNRepository 对象的相关代码:

SVNRepository getRepository(String url,
                                String authFolder,
                                    String username,
                                        String password)
                                            throws SVNException {
    SVNRepository repository =
        SVNRepositoryFactory.create( SVNURL.parseURIEncoded(url) );  
    ISVNAuthenticationManager authManager =
        SVNWCUtil.createDefaultAuthenticationManager(
                      authFolder, username, password, true);
    repository.setAuthenticationManager(authManager);
    return repository;
}

有更好的方法吗?

最佳答案

我建议使用轻量级 BasicAuthenticationManager 实例代替 DefaultSVNAuthenticationManager 实例。 BasicAuthenticationManager 仅使用内存中的凭据,不使用本地设置或配置文件。

代码看起来像这样:

ISVNAuthenticationManager authManager = 
  new BasicAuthenticationManager(new SVNAuthentication[] {
        new SVNPasswordAuthentication(userName, password, 
                                      false, url, false),
  });
repository.setAuthenticationManager(authManager);

关于java - SVNKit 使用 auth 文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24403997/

相关文章:

java - 为什么我们需要在 Java 中的 ArrayList 上使用迭代器?

java - 如何使用Java在SVN中提交文件?

svn - 使用 svnant 缺少类路径上的 svnkit 依赖项

java - SVN KIT提交评论问题

java - 如何更改我的正则表达式以匹配/替换第二个、第三个……单词,而不是第一个单词?

java - 在比较 Java 中的整数包装器时,为什么 128==128 为假,而 127==127 为真?

java - 创建 Android TV 应用程序以获取 HDMI 端口数据并将其发送到我的自定义应用程序

java - 如何剥离 JVM 以获得尽可能小的安装?

java - SVNKit:检索特定修订版的文件

java - 在Java中获取特定日期范围的SVN日志