【问题标题】:Some XPath rule work in SonarQube 4.4一些 XPath 规则在 SonarQube 4.4 中有效
【发布时间】:2014-09-22 18:52:41
【问题描述】:

最近我在 sonarqube 4.4 上写了一些 XPath Query。其中一些适用于声纳 4.4,而另一些则不适用。例如,当我将 XPath 查询定义如下:

  1. //IfStatement/statement[not(block)]
  2. //WhileStatement/statement[not(block)]
  3. //variableDeclarator[not(block)]

声纳 4.4 检测到问题,当我将 XPath 查询定义如下:

  1. //qualifiedIdentifier/IDENTIFIER[@tokenValue= "println"]

声纳未检测到问题。为什么会这样?

正如 Fabrice 在 here 中解释的那样,这是 sonarqube 4.4 中的一个已知错误,但为什么某些 XPath 查询(例如 If/Statement)适用于 sonar 4.4 而另一些则不行?

【问题讨论】:

  • 通过下载SSLR Java toolkit,您将能够获得任何java源文件的AST结构,甚至可以测试您的Xpath表达式。
  • 是的。我下载了 SSLR java 工具包,XPath 查询适用于 SSLR java 工具包,但在声纳中它没有保存也没有检测到问题。

标签: xpath sonarqube rule


【解决方案1】:

正如您指出的,这是一个已知问题:https://jira.codehaus.org/browse/SONAR-5575

这似乎与插入数据库时​​对引号的错误转义有关,它解释了为什么某些 XpathQueries 将被持久化而另一些则不会。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-11
    • 2018-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-30
    • 2012-02-04
    相关资源
    最近更新 更多