SONAR 新手路障:
- 我刚刚在 Windows XP 上安装了 SONAR。能够将其配置为服务并使服务器运行。
然后我安装了 sonar-runner(在一个名为 的目录中
sonar-run
),sonar-project.properties
在 root 中创建了一个,并将其配置为指向我在C:\sonar-run\src 的Java src 项目。尝试从我的 Java 项目 src 目录运行 - C:\sonar-run\src>
..\bin\sonar-runner
首先它因消息而失败
Unable to resolve path '"C:sonar-runsrc"'
所以我用额外的反斜杠逃脱了路径"C:\\sonar-run\\src"
,然后我陷入了这个错误:
C:\sonar-run\src>..\bin\sonar-runner
C:\sonar-run
Runner configuration file: C:\sonar-run\conf\sonar-runner.properties
Project configuration file: C:\sonar-run\src\sonar-project.properties
Runner version: 1.3
...
...
Exception in thread "main" org.sonar.batch.bootstrapper.BootstrapException: org.sonar.api.utils.SonarException: Unable to resolve path '"C:\sonar-run\src"'
at org.sonar.runner.Runner.delegateExecution(Runner.java:189)
Caused by: org.sonar.api.utils.SonarException:
Unable to resolve path **'"C:\sonar-run\src"'**
我认为是错误:与 Unix/Windows/path/escape 序列有关。
观察:之前我使用C:\runsonar作为文件夹名称,并将 \r 作为特殊字符转义。
结论:虽然这是我遇到的一个局部错误,但这些是 SONAR 新手的学习经验:
- 当您是作为客户端程序的 sonar-runner 时,您需要了解 SONAR 是为 *nix 设计的,因此它在 Windows 中的行为方式是不同的,并且没有明确记录
- 在属性文件> src的windows路径>你需要转义
\
- 如果您的路径包含以
r
. 例如\src\red
,即使在逃脱之后,src\\red
它也会变成src
\r
ed
这意味着一个return
角色,依此类推\n
。