maven连接到声纳

时间:2011-09-22 16:56:40

标签: maven sonarqube

我在我的本地机器上安装了maven,我正试图测试安装在遥控盒上的Sonar。

我在网上发现了一些帖子来配置settings.xml (maven\config\settings.xml)并添加个人资料条目...我做了但不起作用

<profile>
   <id>sonar</id>
   <activation>
      <activeByDefault>true</activeByDefault>
   </activation>
   <properties>
      <!-- SERVER ON A REMOTE HOST -->
      <sonar.host.url>http://remotebox:9000</sonar.host.url>
   </properties>
</profile>

什么是cli方式?我尝试了几种选择,但没有任何效果。

我试过了:mvn sonar:sonar http://remotebox:9000

正确的语法是什么?

提前致谢。 达米安

PS。这在安装了maven和sonar的遥控盒上工作正常......我只是想把它的盒子放到遥控器盒上。

5 个答案:

答案 0 :(得分:32)

使用

运行声纳
mvn sonar:sonar -Dsonar.jdbc.url=jdbc:h2:tcp://ipaddr:9092/sonar -Dsonar.host.url=http://ipaddr:9000

,ipaddr是您的远程主机,似乎可以正常工作。

答案 1 :(得分:22)

sonar.host.url旁边的版本5.2 ,您还必须按照here所述指定数据库参数。这样它对我有用。

配置示例

<profile>
    <id>sonar</id>
    <activation>
        <activeByDefault>true</activeByDefault>
    </activation>
    <properties>
        <!-- EXAMPLE FOR MYSQL -->
        <sonar.jdbc.url>
          jdbc:mysql://localhost:3306/sonar?useUnicode=true&amp;characterEncoding=utf8
        </sonar.jdbc.url>
        <sonar.jdbc.username>sonar</sonar.jdbc.username>
        <sonar.jdbc.password>sonar</sonar.jdbc.password>

        <!-- optional URL to server. Default value is http://localhost:9000 -->
        <sonar.host.url>
          http://myserver:9000
        </sonar.host.url>
    </properties>
</profile>

由于版本5.2 ,这不再是必要的了:

Quote

扫描程序无法访问数据库

这是这个新版本的最大变化:扫描仪(例如Sonar Runner)不再访问数据库,它们只使用Web服务与服务器通信。实际上,这意味着现在可以从分析CI作业中删除JDBC连接属性:     sonar.jdbc.url,     sonar.jdbc.username,     sonar.jdbc.password

答案 2 :(得分:7)

问题1

如上所述,您需要指定JDBC连接详细信息,否则Sonar将尝试与嵌入式Derby实例通信,它假定在localhost上运行。

问题2

你在使用德比吗?嗯,Derby的默认配置不接受远程连接,而只接受来自同一主机的连接。

SONAR-1039问题解释了如何解决此问题,但我的建议是设置一个完整的数据库,例如MySQLPostgresql

答案 3 :(得分:5)

以下sonar-maven-plugin:3.2的作品:

mvn sonar:sonar -Dsonar.host.url=http://<sonarqubeserver>:<port>

答案 4 :(得分:0)

我遇到了一些问题,然后意识到,我在父母pom上运行mavn,而声纳配置在一个儿童pom中,无论如何我想要分析报告,所以运行mvn声纳:带有儿童pom的声纳工作。