【廣告】
SonarSource
使用安裝在Mac OS X Mountain Lion 10.8.4上的SonarQube?(以前稱為Sonar?)
發(fā)表在未分類的neomatrix369
介紹(續(xù))
繼續(xù)從之前在Mac OS X Mountain Lion 10.8.4 [01]上安裝SonarQube?(以前稱為Sonar?)的博客文章,我們將介紹如何在不同情況下使用SonarQube。
這個帖子可能會比前一個更加冗長,即使用命令輸出和屏幕截圖,說明SonarQube如何響應(yīng)各種用戶操作。
運行SonarQube分析項目
我們將介紹SonarQube可以通過maven或Sonar-runner(用于非Maven項目)分析項目(以SonarQube支持的編程語言[02]編寫)的兩種方式,以及SonarQube的不同方面這有助于作為靜態(tài)代碼分析工具。
通過maven
轉(zhuǎn)到包含maven配置文件(即pom.xml)的項目文件夾,并根據(jù)終目標運行以下命令之一:
$ mvn clean安裝聲納:聲納
$ mvn install sonar:sonar
$ mvn聲納:聲納
$ mvn clean sonar:sonar 的-Dsonar.host.url = http:// localhost:nnnn
(其中nnnn是SonarQube正在偵聽的備用端口號)
輸出
通過上述命令成功分析項目將導(dǎo)致以下輸出到控制臺或日志文件:
[INFO] ----------------------------------------------- -------------------------
[INFO] BUILD SUCCESS
[INFO] ----------------------------------------------- -------------------------
[INFO]總時間:29.923秒
[INFO]完成時間:Fri Sep 13 18:07:01 BST 2013
[INFO] Final Memory:62M / 247M
[INFO] ----------------------------------------------- -------------------------
[INFO] [18:07:01.557]執(zhí)行org.apache.maven.plugins:maven-surefire-plugin:2.10:test done:20372 ms
[INFO] [18:07:01.557]執(zhí)行maven插件maven-surefire-plugin done:20373 ms
。
。
。
[INFO] [18:07:09.526] ANALYSIS SUCCESSFUL,您可以瀏覽http:// localhost:9000 / dashboard / index / com.webapplication:sub-webapp
[INFO] [18:07:09.528]執(zhí)行職位后的類org.sonar.issuesreport.ReportJob
[INFO] [18:07:09.529]執(zhí)行工作后類別org.sonar.plugins.core.issue.notification.SendIssueNotificatiPo的stJob
[INFO] [18:07:09.529]執(zhí)行職位后的類org.sonar.plugins.core.batch.IndexProjectP的ostJob
[INFO] [18:07:09.580]執(zhí)行工作后類org.sonar.plugins.dbcleaner.ProjectPurgeP的ostJob
[INFO] [18:07:09.590] - >在2013-08-16和2013-09-12之間每天保留一張快照
[信息] [18:07:09.591] - >在2012-09-14和2013-08-16之間每周保留一張快照
[信息] [18:07:09.591] [信息] [18:07:09.614] 2008-09-19和2012-09-14之間每月保留一個快照
[INFO] [18:07:09.627] - >刪除之前的數(shù)據(jù):2008-09-19
[INFO] [18:07:09.629] - >清理webapp [id = 1]
[信息] [18:07:09.631] [信息] ------------------------------------- -----------------------------------
[INFO] BUILD SUCCESS
[INFO] ----------------------------------------------- -------------------------
[INFO]總時間:38.345秒
[INFO]完成于:Fri Sep 13 18:07:09 BST 2013
[INFO] Final Memory:28M / 255M
[INFO] ----------------------------------------------- -------------------------
以下是幾個鏈接到pom.xml文件的示例,這些文件應(yīng)該有助于創(chuàng)建新的或修改現(xiàn)有配置以將maven項目與SonarQube(包括其他maven CLI交換機)集成在一起,即使用Maven [03]和SonarQube分析Github [04] 。
通過聲納賽
轉(zhuǎn)到包含sonar-project.properties配置文件的項目文件夾,然后運行以下命令:
</ DIV>
<DIV> </ DIV>
<div> $ sonar-runner </ div>
<DIV> </ DIV>
<DIV>
輸出
SonarSource
FindBugs作為獨立的GUI應(yīng)用程序分發(fā),也可以作為Eclipse,NetBeans,IntelliJ IDEA和Findbugs的插件從命令行或ant,eclipse,maven,netbeans和emacs中使用。
Apache Ant
200px-Apache-Ant-logo.svg <a <span =“”> href =“http://ant.apache.org/”> Apache Ant是一個Apache項目,它是開源軟件,并在Apache軟件許可證。 Apache Ant使用XML,是軟件構(gòu)建過程自動化的有用工具,并使用Java語言實現(xiàn),需要Java平臺并主要用于Java項目。它也是一個庫和一個命令行工具,Ant是具有許多內(nèi)置任務(wù)的設(shè)計,允許開發(fā)人員編譯,組裝,測試和運行Java應(yīng)用程序。
Java Ant外還可以用于構(gòu)建非Java應(yīng)用程序,如C或C 應(yīng)用程序,一般使用可用于可根據(jù)目標和任務(wù)進行描述的進程類型。
有大量現(xiàn)成的商業(yè)或開源“antlib”可供用戶使用,它非常有用,因為它是靈活的,并沒有限制Java編程約定或Java項目的目錄布局。
Apache Ant適用于常用的Java IDE,如Eclipse,NetBeans和IntelliJ IDEA。
JProfiler的
logo_jprofiler01
JProfiler是由ej-technologies GmbH開發(fā)的商業(yè)許可Java分析工具,主要用于與Java EE和Java SE應(yīng)用程序配合使用。
JProfiler是一個Java分析器,將CPU,內(nèi)存和線程分析結(jié)合到一個應(yīng)用程序中,對開發(fā)人員有用,因為它可用于分析性能瓶頸,內(nèi)存泄漏,CPU負載和解決線程問題。
JProfiler是有用的,因為它支持本地分析(分析在安裝了JProfiler軟件的同一臺機器上運行的應(yīng)用程序)和遠程分析(這是允許分析在遠程機器上運行的Java應(yīng)用程序的JProfiler軟件未安裝。)。
JProfiler可以在兩種情況下對信息進行配置,代理商sonarqube代理商,并允許用戶通過可視化表示立即查看活動和總字節(jié),實例,線程,類和垃圾收集器活動的顯示負載。
SonarQube和JaCoCo的個人測試代碼覆蓋率
本文介紹了如何使SonarQube收集單個測試的測試代碼覆蓋率指標。代碼覆蓋工具通常產(chǎn)生一個報告,中國sonarqube,顯示在給定測試會話期間執(zhí)行的所有測試的組合效果的代碼覆蓋率(按行,分支等)。例如,當您在持續(xù)集成中運行單元測試時就是這種情況。在SonarQube和JaCoCo的幫助下,sonarqube,可以在單個測試用例級別(JUnit或TestNG中的測試方法)中收集覆蓋度量。為了實現(xiàn)這一點,我們在這篇文章中顯示了一些特殊的配置。
環(huán)境
以下過程已經(jīng)使用SonarQube 4.1.2和4.3.2版本進行了驗證,但它也適用于SonarQube 3.7.x(xin的LTS版本)。我們用于驗證設(shè)置的應(yīng)用程序代碼是熟悉的Spring Pet Clinic應(yīng)用程序,增強功能可支持Tomcat 7和Spring 3(請參閱此篇文章,代理商sonarqube修改檢測規(guī)則,以了解有關(guān)寵物診suo需要更新的信息:https://deors.wordpress.com/ 2012/09/06 / petclinic-tomcat-7 /)該代碼可以從存儲庫中的GitHub:https://github.com/deors/deors.demos.petclinic
說明
一旦你知道如何連接所有的點,這些說明很簡單。所有這些都是為Maven Surefire插件添加一些特定的配置(Surefire是插件,它是單元測試執(zhí)行的任務(wù),它支持JUnit和TestNG)。由于此具體配置不應(yīng)影響常規(guī)單元測試執(zhí)行,因此建議將所需配置包含在單獨的配置文件中,僅在執(zhí)行SonarQube分析時執(zhí)行。我們一起來描述pom.xml文件中所需的更改。
企業(yè): 蘇州華克斯信息科技有限公司
手機: 13862561363
電話: 0512-62382981
地址: 蘇州工業(yè)園區(qū)新平街388號