使用 Java、JGit、PMD 进行静态代码分析

问题描述 投票:0回答:1

我正在尝试从github克隆存储库,进行本地克隆并对java源代码进行静态代码分析。最后将结果写入CSV文件。

Exception in thread "main" java.lang.StackOverflowError
    at java.base/java.lang.String.indexOf(String.java:2401)
    at java.base/java.net.URLStreamHandler.parseURL(URLStreamHandler.java:157)
    at java.base/sun.net.www.protocol.file.Handler.parseURL(Handler.java:56)
    at java.base/java.net.URL.<init>(URL.java:801)
    at java.base/java.net.URL.<init>(URL.java:654)
    at java.base/jdk.internal.loader.URLClassPath$FileLoader.getResource(URLClassPath.java:1091)
    at java.base/jdk.internal.loader.URLClassPath$FileLoader.findResource(URLClassPath.java:1079)
    at java.base/jdk.internal.loader.URLClassPath$1.next(URLClassPath.java:343)
    at java.base/jdk.internal.loader.URLClassPath$1.hasMoreElements(URLClassPath.java:353)
    at java.base/jdk.internal.loader.BuiltinClassLoader$1.hasNext(BuiltinClassLoader.java:408)
    at java.base/jdk.internal.loader.BuiltinClassLoader$1.hasMoreElements(BuiltinClassLoader.java:416)
    at java.base/java.lang.CompoundEnumeration.next(ClassLoader.java:2756)
    at java.base/java.lang.CompoundEnumeration.hasMoreElements(ClassLoader.java:2765)
    at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.nextProviderClass(ServiceLoader.java:1210)
    at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1228)
    at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1273)
    at java.base/java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1309)
    at java.base/java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1393)
    at java.xml/javax.xml.parsers.FactoryFinder$1.run(FactoryFinder.java:255)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:319)
    at java.xml/javax.xml.parsers.FactoryFinder.findServiceProvider(FactoryFinder.java:251)
    at java.xml/javax.xml.parsers.FactoryFinder.find(FactoryFinder.java:228)
    at java.xml/javax.xml.parsers.DocumentBuilderFactory.newInstance(DocumentBuilderFactory.java:172)
    at net.sourceforge.pmd.RuleSetFactory.createDocumentBuilder(RuleSetFactory.java:444)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:366)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:409)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:234)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:229)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:549)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:503)
Process finished with exit code 1

我正在使用 JGit、PMD 运行静态代码分析,并尝试将这些结果写入 CSV 文件。但是,我不断收到此错误。我不确定这个问题到底是什么。我尝试更改 custom-ruleset.xml。

这是我的自定义规则集.xml。

<?xml version="1.0" encoding="UTF-8"?>
<ruleset name="Combined Ruleset"
         xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 https://pmd.sourceforge.net/ruleset_2_0_0.xsd">

    <description>
        Combined ruleset including custom ruleset and others.
    </description>

    <!-- Reference the custom ruleset using relative path -->
    <rule ref="./custom-ruleset.xml"/>

    <!-- Additional rules -->
    <rule ref="category/java/bestpractices.xml/AvoidUnusedPrivateFields"/>

</ruleset>
java csv jgit pmd
1个回答
0
投票

啊……我明白了。堆栈跟踪表明加载规则集时存在无限递归。而且......显然......这是在加载“custom-ruleset.xml”资源时发生的。

这是有道理的。该文件包含这一行:

<!-- Reference the custom ruleset using relative path -->
<rule ref="./custom-ruleset.xml"/>

这实际上是告诉加载器加载“./custom-ruleset.xml”。但这就是这个文件。换句话说,您正在递归加载文件。

这是你的规则集中的一个错误。

© www.soinside.com 2019 - 2024. All rights reserved.