java - 当指定了 MySql 时,SonarQube 尝试使用 'org.h2.Driver'

标签 java mysql maven jdbc

要求是 mvn clean install sonar:sonar 将快照从 Machine Maven 部署/安装到 Machine SonarQube,后者会将其存储在具有 MySql 数据库的 Machine MySql 中。 Machine MySql 仅对 Machine SonarQube 可见。 Machine SonarQube 对 Intranet 可见,Intranet 中的每个人都可以访问它。 从 Machine Maven 运行 mvn clean install sonar:sonar 时,出现以下错误:

[ERROR] Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.6:sonar (default-cli) on project my-project: Fail to connect to database: Cannot load JDBC driver class 'org.h2.Driver' -> [Help 1]

Machine Maven 在 ~/.m2/settings.xml 中具有以下配置文件:

<profile>
    <id>sonar</id>
    <activation>
        <activeByDefault>true</activeByDefault>
    </activation>
    <properties>
        <sonar.host.url>https://sonarqube.myproject.com</sonar.host.url>
    </properties>
</profile>

sonar-maven-plugin 已根据 here 中的文档添加.

此外,sonar-maven-plugin 已作为依赖项添加到 pom.xml 中:

<dependency>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>sonar-maven-plugin</artifactId>
    <version>2.5</version>
</dependency>

我知道 documentation要求在 maven 设置声纳配置文件属性中指定 jdbc 驱动程序、url、用户名和密码,我不想向其他人公开,因此已在 Machine SonarQube conf/sonar.properties 中指定

有没有办法通过 Machine SonarQube 从 Machine Maven 运行“mvn clean install sonar:sonar”将这些快照部署/安装到 Machine MySql?

提前致谢。

最佳答案

在这篇文章中 Sonar fails to connect to mySQL always tries jdbc:h2:tcp://localhost/sonar ,看来您的属性未完成。

尝试将以下属性添加到您的 Maven 设置文件 ~/.m2/settings.xml 中的“声纳配置文件”:

<profile>
  <id>sonar</id>
  <activation>
    <activeByDefault>true</activeByDefault>
  </activation>
  <properties>
    <sonar.jdbc.url>jdbc:mysql://localhost:3306/sonar</sonar.jdbc.url>
    <sonar.jdbc.username>user_of_the_sonar_database</sonar.jdbc.username>
    <sonar.jdbc.password>password_of_the_userdatabase</sonar.jdbc.password>
    <sonar.host.url>http://localhost:9000</sonar.host.url>
  </properties>
</profile>

注意:您的 <sonar.jdbc.url></sonar.jdbc.url>取决于您使用的数据库。

关于java - 当指定了 MySql 时,SonarQube 尝试使用 'org.h2.Driver',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31390395/

相关文章:

spring - Maven 从依赖 jar src/main/resources 加载文件

java - Python和Java可以使用libffi进行通信吗?

java - MD5 二进制字符串转换为字节数组

java - 将 MySQL 的数据结果发布到 JTextArea

php - 使用 PHP 进行正确且方便的错误处理和日志记录

java - maven 默认过滤器目录的好处

java - Spring MVC 中 POST 方法后重定向

java - ''intent.getExtras().getString' ' 重新打开时应用程序崩溃

MySql/Cloudbees VARCHAR 作为外键

java - 将部署的 jar 引用为 Maven 依赖项