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

来源:javaeye 作者:javaeye
  一。什么是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 -->
时间:2010-07-29 17:46 来源:javaeye 作者:javaeye 原文链接

好文,顶一下
(9)
100%
文章真差,踩一下
(0)
0%
------分隔线----------------------------


把开源带在你的身边-精美linux小纪念品
无觅相关文章插件,快速提升流量