某些XPath规则在SonarQube 4.4中起作用
最近,我在sonarqube 4.4上编写了一些XPath查询。他们中的一些人在声纳4.4上工作,有些人没有。例如,我将XPath查询定义为:某些XPath规则在SonarQube 4.4中起作用,xpath,sonarqube,rule,Xpath,Sonarqube,Rule,最近,我在sonarqube 4.4上编写了一些XPath查询。他们中的一些人在声纳4.4上工作,有些人没有。例如,我将XPath查询定义为: //IfStatement/statement[非(块)] //WhileStatement/statement[not(block)] //变量声明器[非(块)] sonar 4.4检测问题,当我定义XPath查询时,如下所示: //限定标识符/标识符[@tokenValue=“println”] 声纳探测不到问题。为什么会这样 正如Fabrice在本
//IfStatement/statement[非(块)]
//WhileStatement/statement[not(block)]
//变量声明器[非(块)]
//限定标识符/标识符[@tokenValue=“println”]
正如Fabrice在本文中所解释的,sonarqube 4.4中存在一个已知的错误,但为什么有些XPath查询(如If/Statement)在sonar 4.4上有效,而另一个则不有效?正如您所指出的,这是一个已知的问题:
这似乎与插入数据库时引号的错误转义有关,它解释了为什么某些XpathQueries将被持久化,而另一些则不会。通过下载,您可以获得任何java源文件的AST结构,甚至可以测试Xpath表达式。是的。我下载了SSLR java工具包,XPath查询在SSLR java工具包上工作,但在sonar中,它不保存也不检测问题。