Search code examples
javacsvjgitpmd

Static Code Analysis using Java, JGit, PMD


I am trying to clone the repository from the github, do a local clone and do static code analysis on the java source code. Finally write the results into the CSV file.

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

I am running a static code analysis using JGit, PMD and trying to write those results in a CSV file. But, I am continuously getting this error. I am not sure what exactly this issue is popping up. I have tried to change the custom-ruleset.xml.

This is my custom-ruleset.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>

Solution

  • Ah ... I see. The stacktrace indicates that there is infinite recursion while loading a ruleset. And ... apparently ... that is happening while loading your "custom-ruleset.xml" resource.

    And that makes sense. The file contains this line:

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

    This is actually telling the loader to load "./custom-ruleset.xml". But that is this file. In other words you are loading your file recursively.

    That is a bug in your ruleset.