±à¼ÍƼö: |
±¾ÎÄÀ´×ÔÓÚcsdn£¬±¾ÎÄÖ÷Òª×ö´úÂëÖÊÁ¿É¨Ã裬»áɨÃè³ö©¶´¡¢bug¡¢¿ÉÒԸĽøµÄ´úÂë¹æ·¶µÈÎÊÌâ¡£ |
|
Ò»¡¢Æô¶¯SonarQube
1¡¢ÅäÖÃSonarQube
ÅäÖúÃJDK1.8Ö®ºóÄØ£¬¾ÍÒª¿ªÊ¼sonarµÄ»·¾³±äÁ¿ÅäÖÃÀ²:Ê×ÏÈÌí¼Óϵͳ±äÁ¿¡£±äÁ¿Ãû£ºSONAR_RUNNER_HOME£¬±äÁ¿Öµ£ºC:\sonar-scanner3.0¡£
È»ºóÔÚϵͳ±äÁ¿pathºó¼Ó ;C:\sonarqube-6.3\bin\windows-x86-64;%SONAR_RUNNER_HOME%/bin;
½ÓÏÂÀ´Ì¸Ì¸confÎļþ¼ÐϵÄÅäÖÃÎļþ£ºsonar.properties¡£Õâ¸öÎļþÀïµÄ´úÂë¶¼ÊÇÓÃ#×¢Ê͵ģ¬Ò»°ãÇé¿öÏÂÄãû±ØÒªÈ¥ÐÞ¸ÄËü¡£¶Ô£¬ÄãûÓп´´í£¬µÄÈ·ÊDz»ÓÃÐÞ¸ÄÕâ¸öÅäÖÃÎļþ¡£
£¨²»ÖªµÀÎªÊ²Ã´ÍøÉϺöàÏà¹Ø²©¿Í¶¼ÊǶÔÕâ¸öÅäÖÃÎļþ½øÐи÷ÖÖÐ޸쬵±Ê±ÕÕ×ÅŪÁ˰ëÌ죬ҲûÓÐÕû³É¹¦~~~¸÷ÖÖÐÄÈû£©
2¡¢³É¹¦Æô¶¯
Æô¶¯dos´°¿Ú£¬½«bin/windows-x86-64Îļþ¼ÐϵÄStartSonar.batÍϵ½dos´°¿Ú£¬ÇûسµÖ´ÐУ¬µ±Äã¿´µ½ÈçÏÂͼºì¿òËùʾµÄÐÅϢ˵Ã÷ÄãÒѾ³É¹¦Æô¶¯ÁËSonarQube¡£´ËʱÔÚä¯ÀÀÆ÷µØÖ·À¸ÖÐÊäÈëhttp://localhost:9000,³É¹¦ÏÔʾsonarqubeÖ÷Ò³¡£ÕâÊǾͿÉÒԵǽÀ²£¬Óû§ÃûºÍÃÜÂë¶¼ÊÇadmin¡£

È»¶ø£¬ÊÂÇéËÆºõ²¢²»Ò»¶¨ÊÇÒ»·«·ç˳µÄ£¬µ±Äã°´ÕÕÉÏÊö½øÐвÙ×÷ʱ£¬¿ÉÄÜ»áÓöµ½Ò»Ð©ÎÊÌâ¡£ÔÚÕâÀï̸̸×Ô¼ºÓöµ½µÄÁ½¸öÎÊÌâ¼°½â¾ö·½°¸¡£
3¡¢ÎÊÌâÒ»£ºsonarqubeδÕý³£¹Ø±Õ
µ±Äã¿´µ½ÈçÏÂËùʾÄÚÈݵÄʱºò£¬ºÜ¿ÉÄÜÊÇÓÉÓÚ֮ǰ´ò¿ªµÄsonarqubeδÕý³£¹Ø±Õ£¬ÕâʱÐèÒª´ò¿ªÈÎÎñ¹ÜÀíÆ÷£¬½«ºÍJavaÓйصĽø³ÌÈ«²¿¹Øµô£¬ÖØÐÂÆô¶¯sonarqube¼´¿É³É¹¦¡£

4¡¢ÎÊÌâ¶þ£ºJDK°æ±¾
µ±Äã¿´µ½ÈçÏÂͼËùʾÄÚÈÝʱ£¬Ó¦¸ÃÊÇJDK°æ±¾¹ýµÍ¡£Í¨¹ý²é¿´ÈÕÖ¾Îļþ£¨logsÎļþ¼ÐϵÄsonar.log£©µÃÖª¹Ø¼ü´íÎóÐÅϢΪ
WrapperSimpleApp:Unable
to locate the class org.sonar.application.App:java.lang.UnsupportedClassVersionError:
org/sonar/application/App : Unsupportedmajor.minor
version 52.0 |
½â¾ö·½·¨Êǰ´ÕÕÏà¹Ø²Ù×÷ÅäÖÃJDK1.8£¬°³Ò²ÊÇÀú¾ÎÊÌâ²ÅÖªµÀÔÀ´Õâ¸ö´íÎóÊÇJDK°æ±¾ÒýÆðµÄ¡£ 
¶þ¡¢É¨ÃèÔ´Âë
1¡¢ÅäÖÃsonar-project.properties
ÔÚÒª½øÐдúÂëÖÊÁ¿¼ì²âµÄÏîÄ¿¸ùĿ¼ÏÂн¨Ò»¸öÃûΪsonar-project.propertiesµÄÅäÖÃÎļþ£¬ÔÚÕâÀïÒÔSSHÍøÉÏÉ̳ÇΪÀý£¬sonar-project.propertiesËùÔÚλÖúÍÅäÖÃÎļþÖеÄÄÚÈÝÈçÏÂËùʾ£º

<span
style="font-family:'KaiTi_GB2312';font-size:24px;">sonar.projectKey=TGB-shop
sonar.projectName=shop
sonar.projectVersion=1.0
sonar.sources=src
sonar.language=java
sonar.sourceEncoding=UTF-8
</span> |
Ïà¹ØÊôÐÔ˵Ã÷ÈçÏ£º

2¡¢Ö´ÐÐsonar-scanner,ɨÃèÔ´Âë
Ê×ÏÈÇл»µ½Ô´Âë¸ùĿ¼£¬È»ºóÖ´ÐÐsonar-scanner.bat¡£

Æô¶¯sonar-scanner.batµÄ¹ý³Ì¿ÉÄÜ»áÓÐЩÉÔ³¤£¬ÄÍÐĵȴý£¬µ±³öÏÖ¡°EXECUTION
SUCCESS¡±×ÖÑùʱ£¬±íʾ³É¹¦Æô¶¯¡£

3¡¢ä¯ÀÀsonarqubeÖ÷Ò³
µÇ¼http://localhost:9000£¬Ä㽫»á¿´µ½Ê¹ÓÃsonar-scannerɨÃè¹ýµÄÏîÄ¿£¬Èçshop¡£

´ò¿ªÕâ¸öshop£¬Ä㽫ÄÜ¿´µ½Õâ¸öshopÏîÄ¿´æÔÚµÄÎÊÌâ¡£ÈçCategorySecondData.javaÎļþ¡£

sonar¹æ¶¨Ê¹ÓÃlist.isEmpty()À´Ìæ´úlist.size()>0¡£ÖÁÓÚΪʲôҪÕâÑù×ö£¿Çëµã»÷ºì¿òÇøÓò£¬ÄãµÄÒɻ󽫻áһɨ¶ø¿Õ¡£
Èý¡¢SonarLint
1¡¢¼ì²â´úÂë
SonarLintÊÇÎÒÃdz£ÓÃIDEµÄÒ»¸ö²å¼þ£¬¹ÙÍø¸ø³öÁËVS¡¢Intellij IDEA¡¢EclipseÕâÈý¸öIDE¡£ÕâÀïÒÔVSµÄSonarLintΪÀý¡£ÐèҪעÒâµÄÊǹÙÍøÖ»¸ø³öÁËVS2015ºÍVS2017µÄ²å¼þ¡£ÎÒÃÇÏÂÔØºÃVS2015µÄ²å¼þ¡£SonarLint.VSIX-2.11.0.1102-2015.vsix£¬°²×°¼´¿É¡£
½ÓÏÂÀ´ÎÒÃÇÓÃVS2015°ÑITOO.Basicϵͳ´ò¿ª£¬ÔÚÏîÄ¿´¦£¬ÓÒ¼üÑ¡ÔñSonarLint Connected
Mode¡ªExclude from Analysis¡£ÔÚ¸ÃÏîÄ¿µÄÀàÎļþϾÍÄÜ¿´µ½´úÂëÖÊÁ¿ÌáʾÀ²¡£

Äã¿ÉÄÜ»áÎÊ£¬ÎÒÃÇ¿ª·¢.NET°æ±¾µÄITOOÓõÄÊÇVS2012£¬ËüÊÇ·ñÒ²ÓÐSonarLintÄØ£¿»¹ÕæÓУ¬¾ÍÊÇÕâ»õVSSonarExtensionMetroVs2012.vsix¡£Ö»²»¹ýÄØ£¬Õâ¸ö¶«¶«ÔõôÓû¹ÕæÊDz»Çå³þ£¬·´ÕýºÍVS2015ʹÓ÷½Ê½Êǻҳ£²»Ò»ÑùµÄ£¬ÍøÉÏҲûÓÐÕÒµ½Ïà¹ØµÄÄÚÈݽéÉÜ¡£
2¡¢Á¬½Ósonarqube·þÎñÆ÷
°´ÕÕÈçϲ½Öè²Ù×÷£º·ÖÎö¡úManage SonarQube Connections¡úConnect¡£ÔÚConnect
to a SonarQube Server´°¿ÚÖУ¬ÊäÈëSonarQubeµÄURI¡¢Óû§ÃûºÍÃÜÂ룬µã»÷¡°Connect¡±°´Å¥Ö®ºó£¬³öÏÖͼÈýËùʾÄÚÈÝ£¬ÕÒµ½¶ÔÓ¦µÄÏîÄ¿£¬ÓÒ¼übind£¬°ó¶¨µ½·þÎñÆ÷ÉÏ¡£´Ëʱ»áÔÚ½â¾ö·½°¸Ï³öÏÖÃûΪ¡°SonarQube¡±µÄÎļþ¼Ð£¬ÀïÃæ°üº¬SolutionBinding.sqconfigºÍTGB-ITOO5.0BasicCSharp.rulesetÁ½¸öÎļþ¡£

ͼһ

ͼ¶þ

ͼÈý

ͼËÄ
3¡¢¹Ø±Õ¾ßÌ广Ôò
´Ëʱ£¬Äú¿ÉÄÜÒªÎÊÀ²£º½«VS½â¾ö·½°¸°ó¶¨µ½SonarQubeÏîÄ¿ÉÏÓÐʲôÓÃÄØ£¿
´Ë²Ù×÷×Ô¶¯¸üнâ¾ö·½°¸µÄ¹æÔò¼¯£¬²¢½«½â¾ö·½°¸¸½¼Óµ½ËùÐèµÄRoslyn·ÖÎöÒÇ¡£´Ëʱ£¬Äã¿ÉÒÔÔÚ¹æÔò¼¯±à¼Æ÷ÖнûÓÃÈκιæÔò£¬ÉõÖÁ¸ü¸ÄĬÈÏÑÏÖØÐÔ¡£¹æÔò¼¯±à¼Æ÷¾ÍÊÇÔÚÁ¬½Ósonarqube·þÎñÆ÷ʱ£¬×Ô¶¯Éú³ÉµÄTGB-ITOO5.0BasicCSharp.rulesetÎļþ¡£

|