我目前正在使用jHipster开发一个spring boot应用程序,我想使用我公司现有的声纳服务器来分析代码。 JHipster只描述了一种从docker容器中使用声纳服务器构建的方法。不幸的是,由于我的机器在Windows Server 2012上运行,所以这不是我的选择,而docker不支持。 我已经尝试通过将服务器url作为构建参数添加到maven构建来启动maven构建,但它忽略了它。
mvn clean test sonar:sonar -Dsonar.host.url=http://server-ip:server-port/ -Dsonar.login=login -Dsonar.password=pw
我对该主题相对较新,并且正在使用jhipster参考页面(https://jhipster.github.io/code-quality/)的给定命令,因此测试配置文件应该是正确的。 当我运行该命令时,它会忽略给定的url参数,并仍尝试使用localhost,它希望声纳器位于docker容器中。
08:31:53.473 INFO - Create JDBC datasource for
jdbc:h2:tcp://localhost/sonar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 55.017 s
[INFO] Finished at: 2017-06-12T08:31:53+00:00
[INFO] Final Memory: 65M/392M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.2:sonar (default-cli) on project project: Fail to connect to database: Cannot load JDBC driver class 'org.h2.Driver' -> [
Help 1]
由于jHipster在后台生成并配置了很多,我不知道我是否遗漏了一些重要的东西。也许我需要调整一个配置文件?我非常感谢你的帮助。
pom.xml由jHipster生成,maven插件配置如下:
<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>${sonar-maven-plugin.version}</version>
</plugin>
版本在属性中设置为:
<sonar-maven-plugin.version>3.2</sonar-maven-plugin.version>
我尝试使用jHipster团队建议的运行本地docker声纳实例在linux vm上设置我的项目,它运行正常,这对我来说非常不方便,因为我有一个可用的公司声纳实例运行在内联网。
我也尝试按照建议修改我的settings.xml,但是它被忽略了,但它会导致看起来不同的错误消息:
[INFO] --- sonar-maven-plugin:3.2:sonar (default-cli) @ project ---
[INFO] User cache: C:\Users\Administrator\.sonar\cache
[ERROR] SonarQube server [http://localhost:9000] can not be reached
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:12 min
[INFO] Finished at: 2017-06-14T11:29:22+00:00
[INFO] Final Memory: 57M/408M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.2:sonar (default-cli) on project project: Unable to execute SonarQube: Fail to download libraries from server: Status r
eturned by url [http://localhost:9000/batch_bootstrap/index] is not valid: [404] -> [Help 1]
答案 0 :(得分:0)
声纳文档中解释了所有内容:https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Maven
您应该使用以下内容编辑~/.m2
目录中的settings.xml文件:
<settings>
<pluginGroups>
<pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
</pluginGroups>
<profiles>
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<!-- Optional URL to server. Default value is http://localhost:9000 -->
<sonar.host.url>
http://myserver:9000
</sonar.host.url>
</properties>
</profile>
</profiles>
</settings>
答案 1 :(得分:0)
尝试将以下行添加到pom.xml文件的properties部分。
<sonar.host.url>http://1.2.3.4:9000/</sonar.host.url>
使用与您的sonarqube服务器对应的IP地址。