https://blog.csdn.net/huo108/article/details/81160624
1、下载完SonarQube后解压,进入解压路径到bin目录下,启动StartSonar.bat文件。
2、在浏览器上输入: http://localhost:9000 查看是否启动成功
3、配置数据库:新建一个名为sonar的数据库(已经安装了postgresql数据库)。
4、打开sonarqube解压路径下的conf目录打开sonar.properties配置文件,添加数据库连接信息配置:
sonar.jdbc.url=jdbc:postgresql://192.168.201.55:5432/sonar
sonar.jdbc.username=postgres
sonar.jdbc.password=123456
sonar.sorceEncoding=UTF-8
sonar.login=admin
sonar.password=admin
5、编辑 wrapper.conf文件 修改java.command地址
wrapper.java.command=java
如果已经配置了Java系统环境变量,这里就可以直接写java,不用做更改。
在Maven的conf/ssettings.xml设置sonar信息
其中<sonar.host.url>http://localhost:9000</sonar.host.url>指明了sonar服务器的地址。所以在执行maven命令的时候,<sonar.host.url>指明的服务器必须已运行起来。
<profiles>
<profile>
<id>sonar</id>
<properties>
<sonar.jdbc.url>jdbc:postgresql://192.168.201.55:5432/sonar</sonar.jdbc.url>
<sonar.jdbc.driver>org.postgresql.Driver</sonar.jdbc.driver>
<sonar.jdbc.username>postgres</sonar.jdbc.username>
<sonar.jdbc.password>123456</sonar.jdbc.password>
<sonar.host.url>http://localhost:9000</sonar.host.url> <!-- Sonar服务器访问地址 -->
</properties>
</profile>
</profiles>
<activeProfiles>
<activeProfile>sonar</activeProfile>
</activeProfiles>
6、IDEA终端里执行:mvn sonar:sonar
7、汉化
https://github.com/SonarQubeCommunity/sonar-l10n-zh/releases
下载源码,解压,打开cmd进入解压的目录,执行mvn install编译。
编译完成后在 target 目录下找到jar包:sonar-l10n-zh-plugin-1.26.jar,复制粘贴到 extensions/plugins/目录下,重启sonarqube即可变成中文
8、重启sonar
任务管理器 --> 详细信息 结束java.exe进程; 如果开了IDEA 就可能会有多个java.exe造成干扰。
9.远程主机强迫关闭了一个现有的连接。
跟数据库有关系,你PG数据库绑定的IP地址是 192.168.201.55 不是localhost,因此不能用 127.0.0.1。得配置成192.168.201.55。也就是Navicat里用什么IP地址连接到数据库的,这里就配置成那个IP地址。
{
2019.12.30 13:56:27 INFO app[][o.s.a.SchedulerImpl] Process [web] is stopped
2019.12.30 13:56:27 INFO app[][o.s.a.SchedulerImpl] Process [es] is stopped
2019.12.30 13:56:27 INFO app[][o.s.a.SchedulerImpl] SonarQube is stopped
2019.12.30 13:56:27 WARN app[][o.e.t.n.Netty4Transport] exception caught on transport layer [[id: 0x9c713d13, L:/127.0.0.1:27074 - R:/127.0.0.1:9001]], closing connection
java.io.IOException: 远程主机强迫关闭了一个现有的连接。
at sun.nio.ch.SocketDispatcher.read0(Native Method)
at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43)
at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
at sun.nio.ch.IOUtil.read(IOUtil.java:192)
at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
at io.netty.buffer.UnpooledUnsafeDirectByteBuf.setBytes(UnpooledUnsafeDirectByteBuf.java:433)
at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1100)
at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:372)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:123)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
at java.lang.Thread.run(Thread.java:745)
}