SonarQube 5.1.2无法识别声纳源的相对路径
下面是我用于SonarQube分析的目录结构SonarQube 5.1.2无法识别声纳源的相对路径,sonarqube,sonarqube5.1.2,Sonarqube,Sonarqube5.1.2,下面是我用于SonarQube分析的目录结构 我使用SoaRQube 5和C++社区插件版本0.94和声纳流道2.4,声纳。SONAR-PROSPEC.Trimes文件中提到的源=…/CuffOutDRI1。这是一种魅力 然后我升级到SangARQube 5.1.2,保持C++社区插件、声纳流道和Sangar投影。属性文件完整。现在,sonar runner出现以下错误: 14:18:17.531 INFO - Base dir: D:\CheckoutDir2 14:18:17.531 I
我使用SoaRQube 5和C++社区插件版本0.94和声纳流道2.4,声纳。SONAR-PROSPEC.Trimes文件中提到的源=…/CuffOutDRI1。这是一种魅力
然后我升级到SangARQube 5.1.2,保持C++社区插件、声纳流道和Sangar投影。属性文件完整。现在,sonar runner出现以下错误:
14:18:17.531 INFO - Base dir: D:\CheckoutDir2
14:18:17.531 INFO - Working dir: D:\CheckoutDir2\.sonar
14:18:17.531 INFO - Source paths: ../CheckoutDir1
.
.
.
.
ERROR: Error during Sonar runner execution
org.sonar.runner.impl.RunnerException: Unable to execute Sonar
at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:91)
at org.sonar.runner.impl.BatchLauncher$1.run(BatchLauncher.java:75)
at java.security.AccessController.doPrivileged(Native Method)
at org.sonar.runner.impl.BatchLauncher.doExecute(BatchLauncher.java:69)
at org.sonar.runner.impl.BatchLauncher.execute(BatchLauncher.java:50)
at org.sonar.runner.api.EmbeddedRunner.doExecute(EmbeddedRunner.java:102)
at org.sonar.runner.api.Runner.execute(Runner.java:100)
at org.sonar.runner.Main.executeTask(Main.java:70)
at org.sonar.runner.Main.execute(Main.java:59)
at org.sonar.runner.Main.main(Main.java:53)
Caused by: java.lang.NullPointerException
at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:98)
at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77)
at sun.nio.fs.WindowsPath.parse(WindowsPath.java:94)
at sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:255)
at sun.nio.fs.AbstractPath.resolve(AbstractPath.java:53)
at org.sonar.api.batch.fs.internal.DefaultInputFile.path(DefaultInputFile.java:72)
at org.sonar.api.batch.fs.internal.DefaultInputFile.file(DefaultInputFile.java:64)
at org.sonar.api.batch.fs.internal.PathPattern$RelativePathPattern.match(PathPattern.java:101)
at org.sonar.batch.scan.filesystem.LanguageDetection.isCandidateForLanguage(LanguageDetection.java:124)
at org.sonar.batch.scan.filesystem.LanguageDetection.language(LanguageDetection.java:97)
at org.sonar.batch.scan.filesystem.InputFileBuilder.completeAndComputeMetadata(InputFileBuilder.java:100)
at org.sonar.batch.scan.filesystem.FileIndexer$1.call(FileIndexer.java:157)
at org.sonar.batch.scan.filesystem.FileIndexer$1.call(FileIndexer.java:154)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
奇怪的是,sonar runner中的调试参数-X,-e,-Dsonar.verbose=true没有显示除java.lang.NullPointerException之外的其他信息
如果我提到sonar.sources的绝对路径,SonarQube分析工作正常
请建议如何解决这个问题?另外,SonarQube 5.1.2应该清楚地打印调试日志,说明无法从相对路径定位sonar.sources。正如我在日志中看到的,sonar正在考虑将CheckoutDir2作为基本目录, 这是不对的 您应该设置
sonar.projectBaseDir=/ProjectName/CheckoutDir1
,然后设置sonar.sources=。
因此,现在即使sonar-project.properties文件与源代码不在同一目录下,它仍然可以正常工作。正如我在日志中看到的那样,sonar正在考虑将CheckoutDir2作为基本目录, 这是不对的 您应该设置
sonar.projectBaseDir=/ProjectName/CheckoutDir1
,然后设置sonar.sources=。
所以现在,即使sonar-project.properties文件与源代码不在同一目录中,它仍然可以正常工作