http://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner
Sonar 概述
Sonar 是一个用于代码质量管理的开放平台。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具。
与 持续集成工具(例如 Hudson/Jenkins 等)不同,Sonar 并不是简单地把不同的代码检查工具结果(例如 FindBugs,PMD 等)直接显示在 Web 页面上,而是通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。
在对其他工具的支持方面,Sonar 不仅提供了对 IDE 的支持,可以在 Eclipse 和 IntelliJ IDEA 这些工具里联机查看结果;同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 Sonar。
此外,Sonar 的插件还可以对 Java 以外的其他编程语言提供支持,对国际化以及报告文档化也有良好的支持。
Sonar 的安装
Sonar 是 Codehaus 上面的一个开源项目,使用的是 LGPL V3 软件许可。我们可以在其官方网站上下载其源代码及安装包。
其源代码需要使用分布式版本控制软件 Git 进行检出(Check Out),命令行方式如下:
git clone git://github.com/SonarSource/sonar.git
本文主要介绍 Sonar 的使用方法,只需要到 Sonar 网站下载最近的发行包即可,本文写作时最新的版本为 2.11。
下载 zip 包后,直接解压到任意目录,由于 Sonar 自带了 Jetty 6 的应用服务器环境,所以不需要额外的安装就可以使用,值得一提的是 Sonar 也支持部署在 Apache Tomcat 应用服务器中。
在 windows 环境中,直接启动 Soanr 的 bin 目录下 windows-x86-64\StartSonar.bat 即可。
然后在浏览器中访问:http://localhost:9000/
图 1. Sonar 访问界面
这样就成功安装并启动了 Sonar,但其中没有安装插件,需要用户下载并安装自己所需要的插件。本节以 Quality Index Plugin 为例,介绍如何下载及安装 Sonar 插件。
首先访问 Sonar 主页中 Dashboard > Sonar > Documentation > Sonar Plugin Library 路径
图 2. Sonar 插件的下载
进入 Quality Index 插件,点击下载路径
图 3. Quality Index Plugin 下载
然后将下载的 sonar-quality-index-plugin-1.1.3.jar 文件放到 sonar-2.11\extensions\plugins 路径下。重启 Sonar,该插件就在 Sonar 的平台上运行并开始工作。
数据库设置
Sonar 默认使用的是 Derby 数据库,但这个数据库一般用于评估版本或者测试用途。商用及对数据库要求较高时,建议使用其他数据库。Sonar 可以支持大多数主流关系型数据库(例如 Microsoft SQL Server, MySQL, Oracle, PostgreSQL 等)
本文以 MySQL 为例说明如何更改 Sonar 的数据库设置:
- 在 MySQL 中创建 sonar 用户
CREATE USER sonar IDENTIFIED BY 'sonar'; GRANT ALL PRIVILEGES ON *.* TO 'sonar'@'localhost' \ IDENTIFIED BY 'sonar' WITH GRANT OPTION;
- 将 MySQL 的驱动文件(如 mysql-connector-java-5.1.13.jar)拷贝到 sonar-2.11\extensions\jdbc-driver\mysql 目录
- 修改 sonar-2.11\conf\sonar.properties 文件,用 # 注释原来 Derby 的配置项,并打开 MySQL 数据库的配置项:
# Comment the following lines to deactivate the default embedded database. #sonar.jdbc.url: jdbc:derby://localhost:1527/sonar;create=true #sonar.jdbc.driverClassName: org.apache.derby.jdbc.ClientDriver #sonar.jdbc.validationQuery: values(1) ~~~~~~~~~~~~~~~省略部分~~~~~~~~~~~~~~~~~~ #----- MySQL 5.x/6.x # Comment the embedded database and uncomment the following #properties to use MySQL. The validation query is optional. sonar.jdbc.url: \ jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8 sonar.jdbc.driverClassName: com.mysql.jdbc.Driver #sonar.jdbc.validationQuery: select 1
- 重启 Sonar。
相关推荐
### Sonar Code Quality Testing Essentials #### 一、书籍概述与目标读者 《Sonar Code Quality Testing Essentials》是一本专为Java开发者和团队管理者设计的书籍,旨在帮助他们通过使用Sonar工具来提升代码质量...
Integrates detekt for code analysis Default quality profile Detekt way Syntax highlighting Supports SonarQube 6.7.3 and up Supports detekt's yaml config and baseline.xml (also path filters) Usage ...
sonar eclipse插件sonarlint,原先的插件已经被启用,这是最新的,如果连接本地sonar服务器,需要在eclipse.ini中配置启动参数,参数为org.sonarlint.eclipse.core/server_url 值为sonar服务器地址,如果不配置默认...
### Sonar实战:从入门到进阶 #### 知识点概述 Sonar是一个功能强大的代码质量管理平台,专为软件开发团队设计,旨在帮助他们监控、管理和改进代码质量。Sonar不仅提供了静态代码分析,还涵盖了动态分析(如单元...
SonarLint是一款代码检测插件,它能够集成到Eclipse和IntelliJ IDEA这类的集成开发环境(IDE)中,帮助开发者实时地在IDE上检测代码中的问题。SonarLint可以检测多种编程语言,如Java、JavaScript、PHP和Python等,...
sonar4版本扫描辅助程序. 向服务器上传代码并做扫描分析. 使用方式: CMD切换到项目根目录下(sonar-project.properties文件所在目录)运行 sonar-runner
### Sonar Runner 进行代码质量监控 #### 一、Sonar环境搭建 为了实现代码的质量监控,首先需要搭建Sonar环境。以下是详细的步骤: 1. **安装JDK-1.5以上版本**:Sonar需要Java环境支持,因此首先要确保安装了JDK...
利用java代码,调用sonar接口,实现在sonar里面创建,更改,用户,组,权限等一系列操作
2. **代码质量规则**: SonarScanner内置了一套详尽的代码质量规则,包括代码异味(Code Smell)、bug、漏洞和复杂性等多个维度的检查。 3. **自定义规则**: 开发团队可以根据自身需求定义额外的代码质量规则,...
《Fisher Sonar数据集与线性判别分析在分类中的应用》 Fisher Sonar数据集,全称为fisher_sonar或fishersonar,是机器学习领域中一个广泛使用的分类问题实例,主要应用于训练和测试算法的性能。这个数据集源自声纳...
SonarLint是一款强大的静态代码分析工具,用于在开发过程中实时检测代码质量问题。它与SonarQube服务器相结合,可以提供更全面的代码质量管理。这款插件适用于多种集成开发环境(IDE),包括Eclipse。"sonarlint-...
SonarLint是一款强大的代码质量检测工具,可在编码阶段就发现潜在的错误和安全漏洞,支持多种IDE,如Eclipse、IntelliJ IDEA和Visual Studio Code。它提供清晰的修复指导,帮助开发者在提交代码前进行修复。与...
sonar使用教程涵盖了在Linux环境下搭建SonarQube环境的详细步骤。SonarQube是一个开源平台,用于持续检测代码质量,支持多种编程语言。在本教程中,主要讲述了如何在具有CentOS 7.0操作系统的Linux环境下进行...
"sonar汉化包"是针对SonarQube的中文语言包,使得用户界面更加友好,方便中国开发者使用。本文将详细介绍SonarQube以及与汉化相关的插件。 首先,SonarQube的核心功能包括静态代码分析、代码复杂度计算、代码覆盖率...
"sonar中文插件1.28"是专门为SonarQube设计的一个本地化插件,目的是为了提供中文界面和支持,便于中国开发者更加便捷地使用SonarQube进行项目分析和质量管理。 这个插件的版本号是1.28,表明它是针对SonarQube某个...
4. **跨平台支持**:除了Eclipse之外,SonarLint还支持其他IDE,如IntelliJ IDEA、Visual Studio Code等,确保开发者无论使用何种环境都能享受到一致的体验。 5. **自定义规则**:用户可以根据项目的特殊需求自定义...
《MATLAB格式的Sonar数据集详解及其在机器学习中的应用》 Sonar数据集,一个广泛用于机器学习和模式识别研究的经典数据集,已经处理为.mat格式,方便了研究者进行快速的数据加载和分析。这个数据集包含了60个特征,...
sonar-l10n-zh-plugin-1.8.jar:Sonar中文语言包1.8版本,从官网下载的原来来编译的,已经打包好了,方便大家使用。
SonarLint原生集成在IntelliJ IDEA中,但有时可能会遇到与其它插件如`scalint`的兼容性问题,因此,本篇将介绍如何进行SonarLint的离线傻瓜式安装。 首先,由于在线安装SonarLint时可能会遇到版本不匹配或验证失败...
1. 解压`sonar-scanner-cli-3.0.3.778-linux.zip`,这将包含可执行文件`bin/sonar-scanner`。 2. 将解压后的目录添加到系统的PATH环境变量中,以便在任何地方都能执行`sonar-scanner`命令。 3. 可选:自定义分析配置...