网站首页 > 精选教程 正文
1. 代码质量七宗罪
Sonar是一个代码质量管理系统,它的帮助文档开篇明义,提出了代码质量的七宗罪,总结的比较到位,不妨一看:
1. Bug和隐藏Bug(Bugs and Potential Bugs)
2. 违反编码规范(Coding Standards Breach)
3. 复制粘贴(Duplications)
4. 缺乏单元测试(Lack of Unit Tests)
5. 恶劣的复杂度分布(Bad Distribution of Complexity)
6. 意大利面式设计(Spaghetti Design)
7. 注释不足或过多(Not Enough or Too Many Comments)
2. 安装Sonar服务器
首先看一下sonar对安装环境的需求,见文档:
http://docs.codehaus.org/display/SONAR/Requirements
2.1. 安装JRE
不再详述。
2.2. 安装数据库
Sonar支持MySQL、Oracle、PostgreSQL、SQL Server等多种数据库,本文选取MySQL。
参考文档:http://docs.codehaus.org/display/SONAR/Installing
2.3. 配置数据库
Sonar启动前需要数据库中有特定的用户名和数据库。以下为MySQL的配置脚本。
# https://github.com/SonarSource/sonar-examples/tree/master/scripts/database/mysql
#Create SonarQubedatabase and user.
#
# Command: mysql-u root-p < create_database.sql
#
CREATE DATABASE sonarCHARACTER SET utf8COLLATE utf8_general_ci;
CREATE USER'sonar' IDENTIFIED BY'sonar';
GRANT ALL ON sonar.* TO'sonar'@'%' IDENTIFIED BY'sonar';
GRANT ALL ON sonar.* TO'sonar'@'localhost' IDENTIFIED BY'sonar';
FLUSH PRIVILEGES;
2.4. 下载并配置sonar
本文下载的是SonarQube 3.7.4 LTS,不需要下载其他工具。
修改sonar-3.7.4/conf/sonar.properties文件中的sonar.jdbc.url、sonar.jdbc.username和sonar.jdbc.password属性,具体要参照前面mysql服务器的配置。
本文中设置的值是:
sonar.jdbc.username: sonar
sonar.jdbc.password: sonar
sonar.jdbc.url: jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8
sonar.properties配置文件还可以设置其他项,比如HTTP监听端口,暂时保持默认。
2.5. 启动sonar服务器
执行sonar-3.7.4/bin/目录下指定操作系统的脚本,启动sonar。
Sonar启动后:
(1)会连接mysql服务器,并在sonar数据库中建立相关的表格;
(2)启动一个http服务器,监听端口为9000,当然这个端口号是可以配置的。
当然,Sonar也可以作为服务安装到操作系统中,本文不再描述。
2.6. 登录服务器
通过浏览器登录sonar服务器,可以对sonar进行配置、安装插件等。
URL地址默认是http://{sonar_server_ip}:9000。
默认的用户名和密码是admin/admin。
本文保持sonar的默认配置。
3. 利用maven向sonar服务器提交分析任务
可以有多种方法向sonar提交分析任务,本文利用maven。注意sonar 3.7.4只支持maven3.1版本。
3.1. 修改maven的settings.xml文件。
参考文档:http://docs.codehaus.org/display/SONAR/Installing+and+Configuring+Maven
<profile>
<properties>
<sonar.jdbc.url>jdbc:mysql://192.168.150.11:3306/sonar?useUnicode=true&characterEncoding=utf8</sonar.jdbc.url>
<sonar.jdbc.username>sonar</sonar.jdbc.username>
<sonar.jdbc.password>sonar</sonar.jdbc.password>
<sonar.host.url>http://192.168.150.11:9000</sonar.host.url>
</properties>
</profile>
</profiles>
3.2. 修改pom.xml文件,以增加mysql驱动
<build>
<extensions>
<extension>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.24</version>
</extension>
</extensions>
</build>
3.3. 提交分析任务
参考文档:http://docs.codehaus.org/display/SONAR/Analyzing+with+Maven
执行以下maven命令:
mvn clean install
mvn sonar:sonar
注意sonar:sonar必须单独执行。如果把sonar:sonar和其他target混在一起,比如mvn clean install sonar:sonar,可能导致不可预期的问题。
3.4. 查看分析结果
通过浏览器登录sonar服务器,查看分析结果。
- 上一篇: java应用监控之CAT简介 java 应用监控
- 下一篇: 高性能、无侵入的 Java 性能监控神器
猜你喜欢
- 2024-11-07 JMX带你透视Java应用,实现应用程序的动态实时监控
- 2024-11-07 java应用监控和分析思路 java监控gc
- 2024-11-07 巧用JAVA监控工具2——jvisualvm java jvm 监控
- 2024-11-07 老技术新谈,Java应用监控利器JMX(1)
- 2024-11-07 Javaagent 使用 - 探针 jsp探针
- 2024-11-07 详解docker容器的资源监控方案 docker容器资源限制
- 2024-11-07 性能诊断利器 JProfiler 快速入门和最佳实践
- 2024-11-07 java监控工具(1) java视频监控
- 2024-11-07 java通过插桩的概念来完成监控系统的设计
- 2024-11-07 高性能、无侵入的 Java 性能监控神器
你 发表评论:
欢迎- 08-06AIDA64发布7.70正式版:首次支持PCIe 7.0,提前支持Zen 6
- 08-06C#语言编程案例-颜色码数制转换
- 08-06渐变配色工具——webgradients
- 08-06CSS颜色值的转换
- 08-06KDE Plasma 6.4桌面环境发布:增强多桌面布局、优化界面等
- 08-06生成引人注目色彩的小型Javascript脚本——randomColor
- 08-06CSS入门指南:核心概念与实用技巧
- 08-06软网推荐:自定软件窗口背景色保护眼睛
- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)