sonar扫描javajsjsp技术

Posted talk less and do more!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sonar扫描javajsjsp技术相关的知识,希望对你有一定的参考价值。

最近在弄sonar扫描的事情,之前一直只能扫描java代码,这样统计出来的数据上报领导很多开发人员不服(说我不用写jsp了不用写js了?),

那么好,于是乎继续整sonar,在官网中看到sonar其实有js、jsp的插件,这样一来,就可以实现扫描js和jsp了。

安装sonar服务器这里就不细说

要扫描js、jsp那肯定得给sonar服务器加插件,加插件可在sonar更新中心加,也可以下载jar包放到sonar的plugins下

1)JavaScript代码检查:http://docs.codehaus.org/display/SONAR/JavaScript+Plugin

2)Web页面检查(html、JSP、JSF、Ruby、PHP等):http://docs.codehaus.org/display/SONAR/Web+Plugin

 

一、maven项目扫描java、js、jsp

sonar提供对maven的集成,所以maven项目扫描是非常简便(sonar集成maven这里不细说,网上一大票文章)

那么sonar怎么扫描三种语言的信息呢,很简单,配置pom.xml,把sonar扫描的资源路径配成java、jsp、js的资源的根路径就完了

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <sonar.sources>src</sonar.sources>
</properties>

 扫描后sonar里显示情况:

 

二、一般web项目扫描

一般项目推荐使用sonar-runner,sonar-runner和sonar集成达成扫描效果,

这里需要配置sonar-project.properties,然后使用sonar-runner去扫描

#required metadata  
#projectKey项目的唯一标识,不能重复 
sonar.forceAuthentication=false
sonar.login=saq
sonar.password=000000 
sonar.projectKey=testuser
sonar.projectName=testuser
sonar.projectVersion=1.0   
sonar.sourceEncoding=UTF-8  
sonar.modules=java-module,javascript-module,html-module  
 
# Java module  
java-module.sonar.projectName=Java Module  
java-module.sonar.language=java  
# .表示projectBaseDir指定的目录  
java-module.sonar.sources=.  
java-module.sonar.projectBaseDir=src/main/java  
sonar.binaries=classes
  
# JavaScript module  
javascript-module.sonar.projectName=JavaScript Module  
javascript-module.sonar.language=js  
javascript-module.sonar.sources=js  
javascript-module.sonar.projectBaseDir=src/main/webapp 
  
# Html module  
html-module.sonar.projectName=Html Module  
html-module.sonar.language=web  
html-module.sonar.sources=pages  
html-module.sonar.projectBaseDir=src/main/webapp

 

以上是关于sonar扫描javajsjsp技术的主要内容,如果未能解决你的问题,请参考以下文章

sonarqube+sonar-scanner-engine扫描引擎主要执行步骤

Sonar静态代码扫描工具怎么配置针对“代码注释”的规则

解决Sonar扫描Lombok注解的代码没有覆盖率

sonar自定义规则开发完并加载之后,为啥sonar只显示,扫描的时候扫描不出来

ant+sonar+jacoco代码质量代码覆盖率扫描

devops===》Jenkins(pipeline)+gitlab+sonar代码扫描漏洞扫描