今天突然心血来潮想来搭建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文件, 添加如下配置
|
保存后找到你需要被sonar分析的maven项目根目录,比如我的一个CMS的项目根目录, 它看起来是这样(这里注意要被分析的项目必须带有pom文件)
然后运行命令行进入该目录, 执行maven 命令 mvn clean install sonar:sonar 然后就是漫长的等待, 直到你看到这个界面
就表示大功告成, 可以去访问你的sonar服务, 刷新一下, 将会看到多了一个项目出来, 点击分析后就可以看到这个界面, 这是我的
好了, sonar的安装和配置MYSQL, 分析maven项目的过程就演示到这里, 下次再继续深入演进。
(拖堂时间。。。)
下面列出了一些常用的插件:
- JavaScript代码检查:http://docs.codehaus.org/display/SONAR/JavaScript+Plugin
- python代码检查:http://docs.codehaus.org/display/SONAR/Python+Plugin
- Web页面检查(HTML、JSP、JSF、Ruby、PHP等):http://docs.codehaus.org/display/SONAR/Web+Plugin
- xml文件检查:http://docs.codehaus.org/display/SONAR/XML+Plugin
- scm源码库统计分析:http://docs.codehaus.org/display/SONAR/SCM+Stats+Plugin
- 文件度量:http://docs.codehaus.org/display/SONAR/Tab+Metrics+Plugin
- 中文语言包:http://docs.codehaus.org/display/SONAR/Chinese+Pack
- 时间表显示度量结果:http://docs.codehaus.org/display/SONAR/Timeline+Plugin
- 度量结果演进图:
http://docs.codehaus.org/display/SONAR/Motion+Chart+Plugin
下课!
转自:
***************************************************************************************************************************************************
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
- 从已经安装的JRE中选择新的JRE并点击OK
方法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>
转自:
(我用的IDEA,我采用的是第三种方法)
问题2:
解决:意思是说在maven本地仓库没有找到admin-base的jar包,首先去本地仓库查看是否存在admin-base的jar包,本地仓库的位置:(一般在这里)
,具体得看配置在哪。如果不存在,则需要手动导入jar包。我这里的admin-base是父项目。需切换到项目执行:mvn install,在执行之前,需对pom.xml中的
标签改为jar---><packaging>jar</packaging>