开源的Java源代码管理平台/UT覆盖率:Sonar

http://babyhe.blog.51cto.com/1104064/383517


什么是Sonar

  Sonar是 一个开源平台,用于管理Java源代码的质量。“一个质量数据报告工具+代码质量管理平台”http://docs.codehaus.org/display/SONAR/Documentation

  主要特点

  ·                       代码覆盖:通过单元测试,将会显示哪行代码被选中

  ·                       改善编码规则

  ·                       搜寻编码规则:按照名字,插件,激活级别和类别进行查询

  ·                       项目搜寻:按照项目的名字进行查询

  ·                       对比数据:比较同一张表中的任何测量的趋势

  整体架构如下: 

一个开源的Java源代码管理平台:Sonar

  Sonar项目分析页面预览: 

一个开源的Java源代码管理平台:Sonar

  二.安装:

  1.下载压缩包,在win/linux下面均可以运行。

  自身集成jetty+java内存DB,一键启动。默认启动到http://localhost:9000

  正式使用可以配置mysqlDB做持久存储。当然容器也可以切换成tomcat。 具体看官站文档。

  Notice:Deploy on Tomcat application server,A minimum heap size of 512Mo is required. 吃内存大户

  2.环境依赖:

  JDK5++

  Maven2.09 ++

  三。怎么分析项目

  1)maven项目:(简单的讲就是带了pom.xml) 

一个开源的Java源代码管理平台:Sonar

  E:\>cd ws1\test 然后运行:

  1.mvn clean install -Dtest=false -DfailIfNoTests=false (第一步其实可以忽略)        2. mvn sonar:sonar之后再回到页面上,查看项目分析结果。 (第2步的mvn操作其实可以集成到pom.xml里面作为一个

  2)非maven项目:

  方法:给项目放一个pom.xml,不需要写复杂的依赖和编译操作,简单copy如下配置,改改项目名和java代码的目录路径即可! 

1 <project xmlns="http://maven.apache.org/POM/4.0.0"       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
2   <modelVersion>4.0.0</modelVersion>
3   <groupId>song</groupId>
4   <artifactId>test</artifactId>
5   <name>test</name>
6   <version>1.1.0</version>
7   <build>
8         <sourceDirectory>src</sourceDirectory>
9         <outputDirectory>bin</outputDirectory>
10         <plugins>
11            <plugin>              <groupId>org.apache.maven.plugins</groupId>
12               <artifactId>maven-compiler-plugin</artifactId>
13               <configuration>
14                   <source>1.5</source>
15                   <target>1.5</target>
16                   <excludes>
17                       <exclude>**/*.*</exclude>
18                   </excludes>
19               </configuration>
20            </plugin>
21         </plugins>
22   </build>
23   <properties>
24       <sonar.dynamicAnalysis>false</sonar.dynamicAnalysis>
25   </properties>

26 </ project >

 

  详细文档在:http://docs.codehaus.org/display/SONAR/Collect+data#Collectdata-Mavenprojects

  3)将sonar集成到maven中

  编辑maven中config目录下的setting文件activeByDefault,Example 

1 <settings>
2     <profiles>
3         <profile>
4             <id>sonar</id>
5             <activation>
6                 <activeByDefault>true</activeByDefault>
7             </activation>
8             <properties>
9                 <!-- EXAMPLE FOR MYSQL -->
10                 <sonar.jdbc.url>
11                   jdbc:mysql://localhost:3306/sonar?useUnicode=true&amp;characterEncoding=utf8
12                 </sonar.jdbc.url>
13                 <sonar.jdbc.driver>com.mysql.jdbc.Driver</sonar.jdbc.driver>
14                 <sonar.jdbc.username>sonar</sonar.jdbc.username>
15                 <sonar.jdbc.password>sonar</sonar.jdbc.password>
16                 <!-- SERVER ON A REMOTE HOST -->

 

<sonar.host.url>http://myserver:1234 </sonar.host.url>
18             </properties>
19         </profile>
20      </profiles>
21 </settings> 

  当然,这样做的代价就是:export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=256m" maven编译的内存也需要加到512M

  四。总结

  1.作为代码分析工具来使用,其实很简单。下载standalone包直接运行,不需要配置db和容器,直接找到项目分析就是。(用maven管理的项目直接分析,非maven项目按上面的方法加一个最精简的pom.xml配置即可。sonar分析代码的时候并不需要复杂的jar包依赖,指定了源代码目录即可)

  2.作为持续性的代码监控,比如关心代码量的变更,和质量走向,那么配置DB就是必须的了。而且要准备1.5G+空闲内存的机器跑sonar,在触发到代码分析的时候,对CPU的消耗也是比较大的。

  3.将sonar集成到持续集成是非常不明智的。会导致每次编译都去分析一次。比较建议做成crontab的脚本,一个星期用定时脚本启动、分析那么一两回就可以了。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
酒店管理系统使用说明书 主要功能 本系统中包含如下6大功能模块: q 前台服务:该模块主要包括开台点菜、维护菜品、签单、结账等功能,其中维护菜品功能包括添加和取消菜品,能够取消菜品的前提条件是尚未签单,即处于开单状态,结账时则要求所有商品都要签单,否则不允许结账。 q 后台管理:该模块主要包括台号管理、菜系管理和菜品管理功能,其中菜系用来对菜品进行分类。 q 销售统计:该模块用来分段统计营业额,可以按日、月和年进行统计,其中日统计是按消费单和销售的商品统计销售额,月统计是按日期和每日的销售额统计销售额,年统计是按日期和月份统计销售额。 q 系统安全:该模块主要包括交接班、锁定系统和修改密码功能,其中交接班功能在操作员换岗时使用,锁定系统在操作员临时离开时使用。 q 人员管理:该模块主要包括档案管理管理管理和操作权限管理功能,其中管理管理功能用来管理系统的操作员,权限管理功能用来管理系统操作员具有的操作权限。 q 初始化系统:该功能用来对系统进行初始化,初始化后系统数据将全部被删除。 操作注意事项 用户在使用《酒店管理系统》之前,应注意以下事项: (1)管理员用户名和密码为:mr、mrsoft。 (2)当鼠标经过主界面右下角时,会弹出菜单,在这里可以对本系统的信息进行管理。 业务流程 要想运行本系统,请按照以下流程操作: (1)在“人员管理”中添加操作员及其档案信息。 (2)在“系统维护”中添加台号、菜系及菜品信息。 (3)在“台号”下拉列表中选择台号、在商品文本框中输入商品助记码或编号及商品数量,然后单击“开台”按钮。可添加多个商品。 (4)顾完单完菜后,单击“签单”按钮,表示确认该订单,此时可以执行结账操作,否则不可进行结账。 如果操作临时离开,可单击“锁定系统”按钮,输入登录密码可解锁。 (5)在“销售统计”中可对日销售、月销售及年销售额进行统计。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值