我使用以下软件:
我有一个pom.xml文件,我试图用Sonar执行但是得到了以下错误。
[INFO] Building asgard-bpm
[INFO] task-segment: [sonar:sonar] (aggregator-style)
[INFO] -----------------------------------------------------------------------
[INFO] [sonar:sonar {execution: default-cli}]
[INFO] Sonar host: http://{host:8080}/sonar
[INFO] Sonar version: 3.4.1
[INFO] Execute: org.codehaus.sonar:sonar-maven-plugin:3.4.1:sonar
[INFO] [sonar:sonar {execution: default-sonar}]
[INFO] [14:34:54.474] Load project settings
[INFO] [14:34:54.552] Install plugins
[INFO] [14:34:56.674] Apply project exclusions
[INFO] [14:34:56.674] Install JDBC driver
[WARN] [14:34:56.736] H2 database should be used for evaluation purpose only
[INFO] [14:34:56.736] Create JDBC datasource for jdbc:h2:tcp://host/sonar
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Can not execute Sonar
Embedded error: Fail to connect to database
Connection refused: connect
我在数据库中创建了一个用户名为'sonar'且密码为'sonarsonar'的用户。
创建名为“sonar”的模式并授予所有权限。
以下是SONAR.properties文件中设置的属性。
sonar.web.host: {127.0.0.1}
sonar.web.port: 80
sonar.web.context: /
sonar.jdbc.username: sonar
sonar.jdbc.password: sonarsonar
sonar.jdbc.url: {jdbc:mysql://host:3306/sonaruseUnicode=true&characterEncoding=utf8}
sonar.jdbc.driverClassName: com.mysql.jdbc.Driver
sonar.jdbc.validationQuery: select 1
有人可以告诉我如何解决此错误。
答案 0 :(得分:4)
您的声纳未连接到您的数据库。检查您的< .m2 / settings.xml >文件。你需要改变< sonar.jdbc.url>在属性下:
<!-- H2 - Default DB -->
<!-- <sonar.jdbc.url>
jdbc:h2:tcp://localhost:9092/sonar
</sonar.jdbc.url> -->
<!-- MySQL DB -->
<sonar.jdbc.url>
jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8
</sonar.jdbc.url>
答案 1 :(得分:0)
配置&#34; sonar-runner.properties&#34;连接到MySQL数据库。
尝试取消注释这一行:
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.sourceEncoding=UTF-8