Sonar Runner运行时出现SocketTimeoutException异常

5

我曾经使用Sonar工具,一切正常。然而,大约一个月没有使用之后,在运行sonar-runner.bat时出现以下异常:

我使用嵌入式H2数据库服务器,并使用默认端口。

INFO: Error stacktraces are turned on.
INFO: Runner configuration file: C:\sonar\sonar-runner-2.2.2\conf\sonar-runner.properties
INFO: Project configuration file: c:\eclipse\workspaces\projName\sonar-project.properties
INFO: Default locale: "iw_IL", source code encoding: "UTF-8"
INFO: Work directory: c:\eclipse\workspaces\projName\.sonar
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
Total time: 1:00.553s
Final Memory: 1M/242M
INFO: ------------------------------------------------------------------------
ERROR: Error during Sonar runner execution
org.sonar.runner.kevinsawicki.HttpRequest$HttpRequestException: java.net.SocketTimeoutException: Read timed out
        at org.sonar.runner.kevinsawicki.HttpRequest.code(HttpRequest.java:1392)
        at org.sonar.runner.kevinsawicki.HttpRequest.ok(HttpRequest.java:1417)
        at org.sonar.runner.impl.ServerConnection.downloadString(ServerConnection.java:83)
        at org.sonar.runner.impl.ServerVersion.downloadVersion(ServerVersion.java:49)
        at org.sonar.runner.impl.ServerVersion.version(ServerVersion.java:40)
        at org.sonar.runner.impl.ServerVersion.is35Compatible(ServerVersion.java:64)
        at org.sonar.runner.impl.JarDownloader.download(JarDownloader.java:39)
        at org.sonar.runner.impl.BatchLauncher$1.run(BatchLauncher.java:59)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.sonar.runner.impl.BatchLauncher.doExecute(BatchLauncher.java:57)
        at org.sonar.runner.impl.BatchLauncher.execute(BatchLauncher.java:50)
        at org.sonar.runner.api.EmbeddedRunner.doExecute(EmbeddedRunner.java:71)
        at org.sonar.runner.api.Runner.execute(Runner.java:89)
        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:41)
Caused by: java.net.SocketTimeoutException: Read timed out
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at sun.net.www.protocol.http.HttpURLConnection$6.run(HttpURLConnection.java:1491)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLConnection.java:1485)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1139)
        at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:379)
        at org.sonar.runner.kevinsawicki.HttpRequest.code(HttpRequest.java:1390)
        ... 15 more
Caused by: java.net.SocketTimeoutException: Read timed out
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java:129)
        at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
        at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
        at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
        at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:697)
        at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:640)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1195)
        at sun.net.www.protocol.http.HttpURLConnection.getHeaderField(HttpURLConnection.java:2300)
        at org.sonar.runner.kevinsawicki.HttpRequest.header(HttpRequest.java:1903)
        at org.sonar.runner.kevinsawicki.HttpRequest.contentType(HttpRequest.java:2308)
        at org.sonar.runner.impl.ServerConnection.downloadString(ServerConnection.java:79)
        ... 13 more

1
我有一个类似的问题。你找到答案了吗? - David Portabella
4个回答

1
  1. 前往:sonar-runner-2.3/conf/sonar-runner.properties
  2. 取消注释行:#sonar.host.url=http://localhost:9000
  3. localhost替换为您的IP并保存文件!示例:sonar.host.url=http://192.168.0.12:9000

我做了同样的事情,但仍然遇到相同的问题。我该怎么办? - Menu

0

Sonar使用的默认端口是9000,可能已被系统中的其他应用程序占用。

在sonarqube-4.2/conf/sonar.properties和sonar-runner-2.3/conf/sonar-runner.properties中更改您的监听端口。

重新启动Sonar:sonarqube-4.2/bin/linux-x86-64/sonar.sh restart


0

我遇到了同样的问题,发现我已经安装了MySQL,但是忘记重置MySQL密码。

通过访问/logs/access.log日志文件,我发现了我的错误。

所以,日志肯定会帮助你找出问题所在。


-2

这个错误是由于我不知道的SonarQube插件“kevinsawicki”引起的。我猜想删除此插件应该可以解决你的问题。


kevinsawicki只是sonar-runner的一个依赖项名称的一部分 - com.github.kevinsawicki:http-request (https://github.com/SonarSource/sonar-runner/blob/9188444d5e4ceda8ed655dd2149b58c113ab914e/sonar-runner-impl/pom.xml#L14)。 - Godin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接