如何获取SVN存储库中存在的文件的名称?

时间:2015-10-03 09:44:59

标签: groovy svnkit

我的任务是列出给定网址的SVN目录中的所有文件。

no package state yet: call GHC.setSessionDynFlags

执行代码时我遇到错误:

java.lang.LinkageError:接口itable初始化中的加载器约束违规:解析方法时“oracle.xml.parser.v2.XMLNode.getChildNodes()Lorg / w3c / dom / NodeList;”当前类的类加载器(org / codehaus / groovy / tools / RootLoader的实例),oracle / xml / parser / v2 / XMLNode,以及接口org / w3c / dom / Node的类加载器(实例)有不同签名

中使用的getChildNodes类的类对象

我已将此jar文件添加到项目“XMlParserv2”,“XMLSchema”。

我无法弄清楚如何解决此问题,任何人都可以为此任务提供任何解决方案,或者此任务的任何代码示例?

1 个答案:

答案 0 :(得分:1)

我从未遇到过这个错误。试试这个:

@Grab('org.tmatesoft.svnkit:svnkit:1.8.11')

import org.tmatesoft.svn.core.internal.io.dav.DAVRepositoryFactory
import org.tmatesoft.svn.core.SVNURL
import org.tmatesoft.svn.core.io.SVNRepositoryFactory
import org.tmatesoft.svn.core.wc.SVNWCUtil
import org.tmatesoft.svn.core.SVNException
import org.tmatesoft.svn.core.SVNProperties

try {
    def files = getSVNFiles('http://svn.svnkit.com/repos/svnkit/trunk', '', 'anonymous', 'anonymous')
    println files
} catch (SVNException e) { 
    // Do something useful 
}

List<String> getSVNFiles(String url, String path, String name, String password) throws SVNException {
    SVNRepositoryFactory.create(SVNURL.parseURIEncoded(url)).with {    
        authenticationManager = SVNWCUtil.createDefaultAuthenticationManager(name, password)

        return getDir(path, -1, new SVNProperties(), [])*.name
    }
}