rosial

          lost memory
          數據加載中……

          sonar 在maven project下的安裝與運行



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

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

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

          4. 在該project目錄下(有pom的地方)toDos,鍵入mvn sonar:sonar 即可。不需要先run mvn clean install,因為run sonar的任務在install之后,它會自動先install。

          5. 再多過會兒,等build successful出來后,進入http://localhost:9000 查看即可。
           

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

          可能會出現的小問題:

          report出來后,每次點project進去的時候,就會提示你反復登錄,總也進不去。

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

          目前sonar似乎沒有解決這個不穩定重現的bug。所以要保證安裝和運行過程有足夠耐心。特別是啟動sonar時間不夠就直接run mvn,常常會出這個錯誤。

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

          某些project是用js語言的:

          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平級:

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

          4. Restart Sonar Web server;

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

          6. 進入
          http://localhost:9000 查看即可。


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

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

          可能會出現的小問題:

          沒有重啟sonar是會報找不到profile的錯的。
          還有2個語言的project你只能選一個來分析,把lang在mvn里設好。不然也會報錯。

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


          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平級:

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

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

          5. 進入http://localhost:9000 查看即可。

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

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


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

          可能出現的錯誤:
          1. 出現
          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) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 曲靖市| 北川| 大竹县| 交城县| 七台河市| 平山县| 米林县| 洪泽县| 龙胜| 抚松县| 个旧市| 靖远县| 高平市| 九江县| 莆田市| 平潭县| 讷河市| 林甸县| 房产| 工布江达县| 什邡市| 科尔| 大关县| 修武县| 临漳县| 大港区| 镇原县| 江西省| 康马县| 镇远县| 辽阳市| 苍溪县| 伊宁县| 汝城县| 柏乡县| 镇赉县| 云和县| 苍梧县| 富民县| 清水县| 长海县|