【问题标题】:How to fix "Not inside a Git work tree" with SonarQube?如何使用 SonarQube 修复“不在 Git 工作树内”?
【发布时间】:2020-12-16 04:43:08
【问题描述】:

我启动了一个 localhost SonarQube 服务器,然后我将 sonarscanner for maven 插件添加到我的 pom.xml 但是当我开始分析时:https://docs.sonarqube.org/latest/analysis/scan/sonarscanner-for-maven/ 我收到此错误:

[错误] 无法在项目组中执行目标 org.sonarsource.scanner.maven:sonar-maven-plugin:3.7.0.1746:sonar (default-cli):不在 Git 工作树内:C:\Users\ alexc\OneDrive\Desktop\teamup -> [帮助 1] org.apache.maven.lifecycle.LifecycleExecutionException:无法在项目组中执行目标 org.sonarsource.scanner.maven:sonar-maven-plugin:3.7.0.1746:sonar (default-cli):不在 Git 工作树内:C :\Users\alexc\OneDrive\Desktop\teamup 在 org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215) 在 org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156) 在 org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148) 在 org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117) 在 org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81) 在 org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56) 在 org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128) 在 org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305) 在 org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192) 在 org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105) 在 org.apache.maven.cli.MavenCli.execute (MavenCli.java:957) 在 org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289) 在 org.apache.maven.cli.MavenCli.main (MavenCli.java:193) 在 jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(本机方法) 在 jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) 在 jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke (Method.java:567) 在 org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282) 在 org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225) 在 org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406) 在 org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347) 引起:org.apache.maven.plugin.MojoExecutionException:不在 Git 工作树内:C:\Users\alexc\OneDrive\Desktop\teamup 在 org.sonarsource.scanner.maven.bootstrap.ScannerBootstrapper.execute (ScannerBootstrapper.java:67) 在 org.sonarsource.scanner.maven.SonarQubeMojo.execute (SonarQubeMojo.java:104) 在 org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137) 在 org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210) 在 org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156) 在 org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148) 在 org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117) 在 org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81) 在 org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56) 在 org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128) 在 org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305) 在 org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192) 在 org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105) 在 org.apache.maven.cli.MavenCli.execute (MavenCli.java:957) 在 org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289) 在 org.apache.maven.cli.MavenCli.main (MavenCli.java:193) 在 jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(本机方法) 在 jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) 在 jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke (Method.java:567) 在 org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282) 在 org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225) 在 org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406) 在 org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347) 原因:org.sonar.api.utils.MessageException:不在 Git 工作树内:C:\Users\alexc\OneDrive\Desktop\teamup

SonarQube 8.4.1 Maven 3.7 的声纳扫描仪 JDK 1.11

这只发生在这个项目中。 这是一个 Spring Boot 项目。

【问题讨论】:

    标签: sonarqube


    【解决方案1】:

    看起来声纳扫描仪无法找到克隆源代码的存储库。添加以下属性

    sonar.projectBaseDir="<Path_to_project_where_project_is_cloned>"
    sonar.sources=.
    sonar.scm.provider=git
    

    【讨论】:

      【解决方案2】:

      我想你可以解决这个问题,如果你设置属性sonar.projectBaseDir:

      sonar.projectBaseDir="repository-path"
      

      我在Sonarqube community question 中找到了这个解决方案。

      编辑

      请确保您使用的 git 项目带有 .git 文件夹。

      【讨论】:

      • 我创建了一个名为 sonar-project 的属性类型的文件,我写道:sonar.projectBaseDir="C:\Users\alexc\eclipse-workspaceweb\teamup" 我把它放在有 pom.xml 的主文件夹中,但我遇到了同样的问题。
      • 好的,那么我只有一个建议:你试过official example吗?它对你有用吗?
      • 不,它没有,我尝试创建一个示例项目,它工作正常,它可以分析,我不明白可能是什么。
      • 您的文件夹中还有一个.git 文件夹?也许你可以发布你的项目,有人可以试试?
      • 我刚刚用 Git GUI 创建了一个新的存储库,它工作正常,谢谢。
      猜你喜欢
      • 1970-01-01
      • 2020-10-13
      • 2022-01-15
      • 2020-09-27
      • 1970-01-01
      • 2012-03-02
      • 1970-01-01
      • 2011-09-13
      • 1970-01-01
      相关资源
      最近更新 更多