rosial

          lost memory
          數(shù)據(jù)加載中……

          sonar 在maven project下的安裝與運(yùn)行



          1. 下載sonar:
          http://www.sonarsource.org/downloads/

          2. 隨便放到一個(gè)地方,解壓即可。做為winXP32的用戶,直接進(jìn)sonar-2.12\bin\windows-x86-32文件夾,run StartSonar.bat 。電腦情況像我一樣悲催的用戶多等一會(huì)兒,不要急于下一步,有可能導(dǎo)致出錯(cuò)。

          3. 確保你的project是maven的(ant等有其它的辦法)。為了確保test不影響代碼分析,test目錄不可位于java目錄內(nèi),然后pom里面注意修改下test文件夾的相對(duì)路徑。這點(diǎn)我公司的project一直放個(gè)錯(cuò)的,每次都要手動(dòng)改來(lái)改去。

          4. 在該project目錄下(有pom的地方)toDos,鍵入mvn sonar:sonar 即可。不需要先run mvn clean install,因?yàn)閞un sonar的任務(wù)在install之后,它會(huì)自動(dòng)先install。

          5. 再多過(guò)會(huì)兒,等build successful出來(lái)后,進(jìn)入http://localhost:9000 查看即可。
           

          --------------------------------------------------------------------------------------------------

          可能會(huì)出現(xiàn)的小問(wèn)題:

          report出來(lái)后,每次點(diǎn)project進(jìn)去的時(shí)候,就會(huì)提示你反復(fù)登錄,總也進(jìn)不去。

          這和你安裝過(guò)程中某些奇怪的錯(cuò)誤相關(guān),此時(shí)可以刪掉project的target文件夾里面的東西,或者干脆卸掉sonar重裝(就是刪掉所有sonar解壓到各處的文件,項(xiàng)目里,temp下,.m2文件夾下都有),重啟運(yùn)行。中間過(guò)程要保證你能build不出錯(cuò),有時(shí)因?yàn)槟承゜uild中有error,也能出report,但是就可能出各種奇怪的錯(cuò)誤。

          目前sonar似乎沒(méi)有解決這個(gè)不穩(wěn)定重現(xiàn)的bug。所以要保證安裝和運(yùn)行過(guò)程有足夠耐心。特別是啟動(dòng)sonar時(shí)間不夠就直接run mvn,常常會(huì)出這個(gè)錯(cuò)誤。

          ===============================================================

          某些project是用js語(yǔ)言的:

          1. 下載js插件:http://docs.codehaus.org/display/SONAR/JavaScript+Plugin#JavaScriptPlugin-UsageInstallation

          2. Copy the jar into: sonar文件夾/extensions/plugins/ ;

          3. 修改該project的pom.xml: 將下面這段加到pom里,與build平級(jí):

          <properties>
          <sonar.language>js</sonar.language>
          <sonar.dynamicAnalysis>false</sonar.dynamicAnalysis>
          </properties>

          4. Restart Sonar Web server;

          5. 在該project級(jí)run maven,鍵入命令為:mvn sonar:sonar -Dsonar.language=js -Dsonar.dynamicAnalysis=false

          6. 進(jìn)入
          http://localhost:9000 查看即可。


          注意:同一個(gè)project不支持多種語(yǔ)言的分析,這個(gè)project要么js要么java,就是這樣。據(jù)我觀察得分開run。

          ----------------------------------------------------------------------------------------------

          可能會(huì)出現(xiàn)的小問(wèn)題:

          沒(méi)有重啟sonar是會(huì)報(bào)找不到profile的錯(cuò)的。
          還有2個(gè)語(yǔ)言的project你只能選一個(gè)來(lái)分析,把lang在mvn里設(shè)好。不然也會(huì)報(bào)錯(cuò)。

          =================================================================


          Web的分析:

          1. 在這兒下載plugin的jar: 
          http://repository.codehaus.org/org/codehaus/sonar-plugins/sonar-web-plugin/1.1/sonar-web-plugin-1.1.jar

          2. Copy the jar into: sonar文件夾/extensions/plugins/ ,然后重啟server;

          3. 修改該project的pom.xml: 將下面這段加到pom里,與build平級(jí):

          <properties>
              <sonar.language>web</sonar.language>
              <sonar.web.sourceDirectory>src/main/webapp</sonar.web.sourceDirectory>
              <sonar.dynamicAnalysis>false</sonar.dynamicAnalysis>
             </properties>
          sourceDirectory內(nèi)是web項(xiàng)目所在地,上述修改是基于web項(xiàng)目在webapp下,而pom在src上一級(jí)文件夾。如現(xiàn)在項(xiàng)目在webapp文件夾下,pom文件也存在webapp下, 則sourceDirectory不填,為空。

          4.  在pom文件所在級(jí)toDos,run以下命令:
          mvn sonar:sonar -Dsonar.language=web -Dsonar.dynamicAnalysis=false -Dsonar.web.sourceDirectory=src/main/webapp
          如上所說(shuō)如果pom文件在webapp下,則命令為:mvn sonar:sonar -Dsonar.language=web -Dsonar.dynamicAnalysis=false -Dsonar.web.sourceDirectory=

          5. 進(jìn)入http://localhost:9000 查看即可。

          -------------------------------------------------------
          注意pom文件的修改:

          web project存在于另一個(gè)project下的情況,需要修改上一層pom,需要將上一層project的packaging設(shè)為pom,web項(xiàng)目的pom文件中的packaging設(shè)為什么都行。不然run的時(shí)候maven就在上一層直接打包了,會(huì)報(bào)出找不到web項(xiàng)目的錯(cuò)誤,即使你寫好了web項(xiàng)目的pom中的依賴parent什么的。


          ============================================================

          可能出現(xiàn)的錯(cuò)誤:
          1. 出現(xiàn)
          Embedded error: Missing:
          ----------
          1) com.bull.framework:security-sso-web:jar:latest-SNAPSHOT
          .......
          2) com.bull.framework:framework-broker-ws:jar:latest-SNAPSHOT
          .......
          這類不是dependancy的jar缺失很奇怪,可以先clean install試試,成功后再run sonar即可。




          posted on 2012-01-16 19:59 rosial 閱讀(2082) 評(píng)論(0)  編輯  收藏


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 永春县| 改则县| 广元市| 临澧县| 达拉特旗| 中西区| 临夏市| 临沭县| 巴南区| 宣威市| 承德县| 房产| 哈尔滨市| 温州市| 原阳县| 郴州市| 尉氏县| 横峰县| 抚顺市| 汉沽区| 曲松县| 上思县| 阆中市| 湘潭县| 沛县| 乌兰县| 灵山县| 九台市| 陇川县| 阜南县| 旬邑县| 东至县| 舟曲县| 凌海市| 应城市| 舒城县| 曲阜市| 商洛市| 特克斯县| 广丰县| 福泉市|