开发者社区 问答 正文

mvn sonar 配置好后 执行mvn sonar:sonar问题

RT :

image.png sonar已经启动

在maven中配置 image.png

当我执行 mvn clean sonar:sonar时  提示

org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.3.0.603:sonar (default-cli) on project Qukl: Unable to execute SonarQube
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
        at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:355)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:216)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:160)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.MojoExecutionException: Unable to execute SonarQube
        at org.sonarsource.scanner.maven.bootstrap.ExceptionHandling.handle(ExceptionHandling.java:36)
        at org.sonarsource.scanner.maven.bootstrap.ScannerBootstrapper.execute(ScannerBootstrapper.java:80)
        at org.sonarsource.scanner.maven.SonarQubeMojo.execute(SonarQubeMojo.java:139)
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
        ... 19 more
Caused by: org.sonarsource.scanner.api.internal.ScannerException: Unable to execute SonarQube
        at org.sonarsource.scanner.api.internal.IsolatedLauncherFactory$1.run(IsolatedLauncherFactory.java:84)
        at org.sonarsource.scanner.api.internal.IsolatedLauncherFactory$1.run(IsolatedLauncherFactory.java:71)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.sonarsource.scanner.api.internal.IsolatedLauncherFactory.createLauncher(IsolatedLauncherFactory.java:71)
        at org.sonarsource.scanner.api.internal.IsolatedLauncherFactory.createLauncher(IsolatedLauncherFactory.java:67)
        at org.sonarsource.scanner.api.EmbeddedScanner.doStart(EmbeddedScanner.java:218)
        at org.sonarsource.scanner.api.EmbeddedScanner.start(EmbeddedScanner.java:156)
        at org.sonarsource.scanner.maven.bootstrap.ScannerBootstrapper.execute(ScannerBootstrapper.java:59)
        ... 22 more
Caused by: java.lang.IllegalStateException: Fail to bootstrap from server. Bootstrap index was:
<!DOCTYPE html><html lang="en"><head><meta http-equiv="content-type" content="text/html; charset=UTF-8" charset="UTF-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"><link rel="apple-touch-icon" href="/apple-touch-icon.png"><link rel="apple-touch-icon" sizes="57x57" href="/apple-touch-icon-57x57.png"><link rel="apple-touch-icon" sizes="60x60" href="/apple-touch-icon-60x60.png"><link rel="apple-touch-icon" sizes="72x72" href="/apple-touch-icon-72x72.png"><link rel="apple-touch-icon" sizes="76x76" href="/apple-touch-icon-76x76.png"><link rel="apple-touch-icon" sizes="114x114" href="/apple-touch-icon-114x114.png"><link rel="apple-touch-icon" sizes="120x120" href="/apple-touch-icon-120x120.png"><link rel="apple-touch-icon" sizes="144x144" href="/apple-touch-icon-144x144.png"><link rel="apple-touch-icon" sizes="152x152" href="/apple-touch-icon-152x152.png"><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon-180x180.png"><link rel="icon" type="image/x-icon" href="/favicon.ico"><meta name="application-name" content="SonarQube"/><meta name="msapplication-TileColor" content="#FFFFFF"/><meta name="msapplication-TileImage" content="/mstile-512x512.png"/><link href="/css/sonar.ab9ba892.css" rel="stylesheet"><title>SonarQube</title></head><body><div id="content"><div class="global-loading"><i class="spinner global-loading-spinner"></i> <span class="global-loading-text">Loading...</span></div></div><script>window.baseUrl=""</script><script src="/js/vendor.46c97c56.js"></script><script src="/js/app.ab9ba892.js"></script></body></html>
        at org.sonarsource.scanner.api.internal.Jars.getScannerEngineFiles(Jars.java:88)
        at org.sonarsource.scanner.api.internal.Jars.download(Jars.java:70)
        at org.sonarsource.scanner.api.internal.JarDownloader.download(JarDownloader.java:39)
        at org.sonarsource.scanner.api.internal.IsolatedLauncherFactory$1.run(IsolatedLauncherFactory.java:75)
        ... 29 more
Caused by: java.lang.ArrayIndexOutOfBoundsException: 1
        at org.sonarsource.scanner.api.internal.Jars.getScannerEngineFiles(Jars.java:84)
 

展开
收起
huc_逆天 2020-05-28 09:15:47 1513 分享 版权
阿里云 AI 助理回答

遇到这个错误,通常意味着 SonarQube 服务器没有正确地被 Maven 插件访问到,或者插件在下载必要的分析组件时遇到了问题。根据提供的错误信息,具体原因是无法从服务器引导(bootstrap)所需文件,且出现了数组越界异常。

这里有几个可能的解决步骤:

  1. 检查SonarQube服务器状态:确保你的 SonarQube 服务器正在运行并且可以正常访问。可以通过浏览器直接访问 SonarQube 的 Web 界面来验证。

  2. 网络连接和配置:确认你的机器能够访问到 SonarQube 服务器的网络地址和端口。如果使用了代理,请确保在 Maven 配置中正确设置了代理设置。可以在 Maven 的 settings.xml 文件中添加代理配置:

    <proxies>
       <proxy>
           <id>my-proxy</id>
           <active>true</active>
           <protocol>http</protocol>
           <host>your-proxy-host</host>
           <port>your-proxy-port</port>
           <!-- optional, default is false -->
           <nonProxyHosts>localhost|127.0.0.1</nonProxyHosts>
       </proxy>
    </proxies>
    
  3. 版本兼容性:确认你使用的 SonarQube 版本与 sonar-maven-plugin 的版本之间是兼容的。有时候,不兼容的版本会导致这类问题。你可以查看 SonarQube 文档或发布说明,以获取推荐的插件版本,并在你的 pom.xml 中更新为正确的版本号。

  4. 清理本地Maven缓存:有时候,清除 Maven 的本地仓库中的相关插件缓存可以帮助解决问题。你可以通过删除 .m2/repository/org/sonarsource/scanner/maven 目录下的内容来实现这一点,然后重新尝试执行 Maven 命令。

  5. 详细日志:增加 Maven 和 SonarQube 插件的日志级别,以便获得更详细的错误信息。这可以通过在 Maven 命令后添加 -X 参数来实现,例如 mvn clean sonar:sonar -X

  6. 检查项目配置:确保你的 pom.xml 文件中的 SonarQube 配置正确无误,特别是 sonar.host.urlsonar.login(如果需要认证的话)等属性。

如果以上步骤都不能解决问题,建议查阅 SonarQube 官方文档或社区论坛,看是否有其他用户报告过类似的问题及其解决方案。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
问答地址: