【问题标题】:Got java.lang.IllegalStateException: Fail to download plugin error using SonarQube in Azure Devops得到 java.lang.IllegalStateException: Fail to download plugin error using SonarQube in Azure Devops
【发布时间】:2020-04-05 12:10:04
【问题描述】:

我使用 SonarQube 的过程:

  1. 我在 Azure 应用服务中安装了 SonarQube 并通过以下方式启动它 StartSonar.bat。
  2. 添加一个新项目并生成一个令牌。
  3. 使用令牌在 Azure Devops 中添加服务连接。
  4. 使用https://docs.sonarqube.org/latest/analysis/scan/sonarscanner-for-azure-devops/ 提供的流程在管道中添加 SonarQube 任务。

当我运行这个管道时,我得到 java.lang.IllegalStateException: Fail to download plugin error in SonarQubeAnalyze 任务,如下所示:

错误:SonarQube 扫描仪执行期间出错 java.lang.IllegalStateException:无法将插件 [kotlin] 下载到 C:\Users\VssAdministrator.sonar_tmp\fileCache6519814482966957451.tmp 在 org.sonar.scanner.bootstrap.PluginFiles.downloadBinaryTo(PluginFiles.java:152) 在 org.sonar.scanner.bootstrap.PluginFiles.download(PluginFiles.java:108) 在 org.sonar.scanner.bootstrap.PluginFiles.get(PluginFiles.java:89) 在 org.sonar.scanner.bootstrap.ScannerPluginInstaller.loadPlugins(ScannerPluginInstaller.java:77) 在 org.sonar.scanner.bootstrap.ScannerPluginInstaller.installRemotes(ScannerPluginInstaller.java:60) 在 org.sonar.scanner.bootstrap.ScannerPluginRepository.start(ScannerPluginRepository.java:59) 在 org.sonar.core.platform.StartableCloseableSafeLifecyleStrategy.start(StartableCloseableSafeLifecyleStrategy.java:40) 在 org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.start(AbstractInjectionFactory.java:84) 在 org.picocontainer.behaviors.AbstractBehavior.start(AbstractBehavior.java:169) 在 org.picocontainer.behaviors.Stored$RealComponentLifecycle.start(Stored.java:132)

日志显示错误是由 java.net.SocketException: Connection reset (sometimes Read Timeout) 引起的

原因:java.net.SocketException:连接重置 在 java.net.SocketInputStream.read(SocketInputStream.java:210) 在 java.net.SocketInputStream.read(SocketInputStream.java:141) 在 sun.security.ssl.InputRecord.readFully(InputRecord.java:465) 在 sun.security.ssl.InputRecord.readV3Record(InputRecord.java:593) 在 sun.security.ssl.InputRecord.read(InputRecord.java:532) 在 sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:975) 在 sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:933) 在 sun.security.ssl.AppInputStream.read(AppInputStream.java:105)

我不知道这个错误是如何发生的或如何解决它。

希望有人能帮助我,谢谢。

【问题讨论】:

    标签: azure-devops sonarqube azure-pipelines sonarqube-scan socketexception


    【解决方案1】:

    请检查您的项目中是否添加了声纳插件。另外,将声纳主机 url 和令牌属性添加到项目中并试一试。

    对于 Maven:-

    <sonar.host.url>sonar host url</sonar.host.url>
    <sonar.login> token you generated on sonarqube server</sonar.login>
    
    <plugin>
        <groupId>org.sonarsource.scanner.maven</groupId>
        <artifactId>sonar-maven-plugin</artifactId>
        <version>3.7.0.1746</version>
    </plugin>
    

    【讨论】:

    • 您好 Ambuj,是否可以只在 Azure Devops 中配置而不更改源代码?
    • 不确定。但是必须将插件添加到代码中,以便您可以运行 sonar:sonar 目标来分析源代码。分析完成后,它会生成报告 jacoco.exec 文件,该文件使用声纳属性(主机和登录详细信息)上传到 sonarqube 服务器。 Sonarqube 使用该报告在仪表板上显示所有分析。
    • 根据我的测试,源码中不需要添加插件。也许 Azure Devops 中的 SonarQube 扩展为我做到了。
    【解决方案2】:

    我通过在 Azure 应用服务配置中打开 Web Sockets 解决了这个问题。

    【讨论】:

    • 感谢您在这里分享您的解决方案,请在 48 小时后考虑accepting your reply as answer,这将有助于其他社区成员更轻松地搜索此有用信息,这只是一个提醒:)
    猜你喜欢
    • 2020-10-19
    • 2022-12-28
    • 2022-12-02
    • 1970-01-01
    • 1970-01-01
    • 2022-12-27
    • 2022-12-19
    • 2022-01-09
    • 2019-07-17
    相关资源
    最近更新 更多