使用sonar进行maven项目代码质量管理

 今天突然心血来潮想来搭建sonar检测一下手上的项目代码质量, 首先当然是到sonar官网下载最新版本了, 地址在这 :http://www.sonarqube.org/downloads/    , 我下载的是SonarQube 4.0 , 然后解压, 进根目录里的bin目录下,找到对应的操作系统版本的启动文件, 双击StartSonar.bat 后看到这个界面就表示启动了


默认的端口是9000, 打开浏览器访问一下 http://localhost:9000/  , 一切正常的话你应该可以看到这个界面


这样就表示启动成功了, 默认的帐号密码均是admin, 尽管我电脑的操作系统是英文版的, 但我还是比较愿意看到中文版的sonar, 所以这里我要先去将它中文化, sonar具有很强的扩展性,所以中文插件也是有的, 在它官网里就提供了, 地址在这:http://docs.codehaus.org/display/SONAR/Chinese+Pack ,我下的是1.7版本,得到sonar-l10n-zh-plugin-1.7.jar, 然后将它放到sonar的sonarqube-4.0\extensions\plugins这个目录下,重启你的sonar服务, 此时再次访问就应该是这样的


好了, 到这里之后我们就需要去配置数据库了, 因为sonar会将分析项目的结果保存在数据库里, 所以我们在继续使用之前需要去配置数据库连接, 在sonarqube-4.0\conf目录下有一个sonar.properties文件,里面放置了各种sonar支持的数据库连接和连接池的配置,这里我们使用MYSQL的方式, 注释掉它默认的配置, 解开MYSQL跟更改数据库帐号密码, 它看起来应该就像是这样的


保存, 然后打开去你的MYSQL中创建一个名为sonar的数据库,然后再重启sonar服务, 成功启动后就可以检查一下你的sonar数据库里有没有表了, 它应该是这样的。


如果一切正常,那么现在就需要来配置maven了, sonar是通过Maven2 插件来分析源代码并把结果注入到数据库中.因此需要在Maven的配置里设置数据库的属性。进入maven安装目录apache-maven-2.2.1\conf下, 修改settings.xml文件, 添加如下配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<  profiles  >
                                                       
      <  profile  >
          <  id  >sonar</  id  >
          <  properties  >
              <  sonar.jdbc.url  >jdbc:mysql://localhost:3306/sonar</  sonar.jdbc.url  >
              <  sonar.jdbc.driver  >com.mysql.jdbc.Driver</  sonar.jdbc.driver  >
              <  sonar.jdbc.username  >root</  sonar.jdbc.username  >
              <  sonar.jdbc.password  >root</  sonar.jdbc.password  >
              <  sonar.host.url  >http://localhost:9000</  sonar.host.url  <!-- Sonar服务器访问地址 -->
          </  properties  >
      </  profile  >
                                                       
    </  profiles  >
                                                         
    <  activeProfiles  >
      <  activeProfile  >sonar</  activeProfile  >
    </  activeProfiles  >

 保存后找到你需要被sonar分析的maven项目根目录,比如我的一个CMS的项目根目录, 它看起来是这样(这里注意要被分析的项目必须带有pom文件)


 然后运行命令行进入该目录, 执行maven 命令  mvn clean install  sonar:sonar  然后就是漫长的等待, 直到你看到这个界面

 

就表示大功告成, 可以去访问你的sonar服务, 刷新一下, 将会看到多了一个项目出来, 点击分析后就可以看到这个界面, 这是我的


好了, sonar的安装和配置MYSQL, 分析maven项目的过程就演示到这里, 下次再继续深入演进。

(拖堂时间。。。)

下面列出了一些常用的插件:

http://docs.codehaus.org/display/SONAR/Motion+Chart+Plugin  

下课!

转自:https://my.oschina.net/codingforme/blog/185106

***************************************************************************************************************************************************

1.在官网下载sonar,解压

2.在本地的mysql数据库建立sonar数据库

3.在sonar的conf/sonar.properties添加:

sonar.jdbc.username=root
sonar.jdbc.password=root
sonar.jdbc.driverClassName: com.mysql.jdbc.Driver
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false

4.在maven的setting.xml中添加:

<profile>
   <id>sonar</id>
   <activation>
      <activeByDefault>true</activeByDefault>
   </activation>
   <properties>
      <!-- SERVER ON A REMOTE HOST -->
      <sonar.host.url>http://localhost:9000</sonar.host.url>
   </properties>
</profile>

5.在sonar的bin目录找到对应操作系统的启动文件,如/macosx-universal-64/sonar.sh,运行./sonar.sh start

6.对项目进行mvn sonar:sonar,即开始代码分析

7.上一步build success之后,访问localhost:9000查看sonar页面,projects菜单下即可见到项目的分析结果

8.在sonar页面使用admin/admin登录,可以对sonar进行管理

转自:https://zhuanlan.zhihu.com/p/27645937

*****************************************************************************************************************************************************

  • 配置maven

编辑位于$ MAVEN_HOME / conf或〜/ .m2中的settings.xml文件,设置插件前缀和可选的SonarQube服务器URL

<settings>
    <pluginGroups>
        <pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
    </pluginGroups>
    <profiles>
        <profile>
            <id>sonar</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <!-- Optional URL to server. Default value is http://localhost:9000 -->
                <sonar.host.url>
                  http://sonar.aniu.so  # 填写自己的sonar服务器地址
                </sonar.host.url>
            </properties>
        </profile>
     </profiles>
</settings>
  • 分析一个Maven项目

移动到一个maven项目目录内,执行下面命令

mvn clean verify sonar:sonar 
链接:https://www.jianshu.com/p/275edb731802
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

******************************************************************************************************************************************************

问题:

问题1:[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?

解决:

对我来说今天真是糟糕的一天,我花了许多时间下载最新的 Spring Tool Suite based on Eclipse 4.4.1 压缩版,但是现在出现了下面的错误。

[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
[INFO] 1 error
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 18.162 s
[INFO] Finished at: 2014-12-30T02:13:56+05:30
[INFO] Final Memory: 8M/19M
[INFO] ------------------------------------------------------------------------
[WARNING] The requested profile "pom.xml" could not be activated because it does not exist.
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project demo: Compilation failure
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
[ERROR] -> [Help 1]

方法1

  • 点击 Windows -> Preferences -> Java -> Installed JREs -> Add -> Standard VM, 然后选择JAVA_HOME 
    JAVA_HOME
  • 从已经安装的JRE中选择新的JRE并点击OK 
    JRE

方法2

最简单并且在所有场景中都适用

  • 第一步-打开Spring Tool Suite(STS)的安装目录
  • 第二步-右击STS.ini
  • 第三步-打开 -VM JAVA_HOME/bin/javaw.exe然后重启Eclipse Spring Tool Suite (STS),Eclipse将会自动获得这个JDK
 -vm
G:/jdk1.7.0_25/bin/javaw.exe
-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20140603-1326
-product
org.springsource.sts.ide
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms40m
-Xmx768m
-XX:MaxPermSize=256m
-Dorg.eclipse.swt.browser.IEVersion=10001

方法3

打开pom.xml,输入以下高亮部分并将正确的JDK路径输入。(不支持部分高亮,start至end部分)

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
        <!--start-->
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                    <fork>true</fork>
                       <executable>
                       D:\jdk1.7.0_25\bin\javac.exe
                      </executable>
            </configuration>
        </plugin>
        <!--end-->
    </plugins>
</build>

转自:http://blog.csdn.net/BlueBlueSkyZ/article/details/54894746

(我用的IDEA,我采用的是第三种方法)

问题2:

解决:意思是说在maven本地仓库没有找到admin-base的jar包,首先去本地仓库查看是否存在admin-base的jar包,本地仓库的位置:(一般在这里),具体得看配置在哪。如果不存在,则需要手动导入jar包。我这里的admin-base是父项目。需切换到项目执行:mvn install,在执行之前,需对pom.xml中的

标签改为jar---><packaging>jar</packaging>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值