当前位置:首页 > 技术分析 > 正文内容

Coverity扫描CRM项目(cav扫描仪器)

ruisui883个月前 (01-31)技术分析17

Coverity扫描CRM项目

一、项目属性

1.前端代码为vue.js;后端代码为maven管理的java项目

2.开发接口人

二、环境配置

1.在/etc/hosts文件中添加阿里云的maven内网源仓库

maven.aliyun.com

2.在/root/.bashrc文件中添加PATH环境变量

JAVA_HOME=/usr/local/java/jdk1.8.0_241

MAVEN_HOME=/usr/local/maven/apache-maven-3.6.1

PATH=$PATH:...:$JAVA_HOME/bin:$MAVEN_HOME/bin

3.maven版本(3.6)

/usr/local/maven/apache-maven-3.6.1

4.java版本(1.8)

/usr/local/java/jdk1.8.0_241

5.依赖文件(*.pom/*.jar/*.aar)

/root/.m2


三、遇到的问题及解决方法(依赖问题大多为内网环境无法从源仓库下载依赖文件,可以从有外网的环境中编译下载依赖后拷贝到/root/.m2文件相应目录


1.缺少对应的.jar和.pom文件(cov-build)--手动下载并添加到本地/root/.m2/repository


2.Coverity工具cov-build过程中报错白色字体“Failure to find xxx:xxx:xxx:xxx”

问题原因:缺少.pom文件

解决方法:从Windows下载好的.pom文件拷贝到/root/.m2/相应目录中


3.Coverity工具cov-build过程中报错红色字体“Failure to find xxx:xxx:xxx:xxx”

问题原因:缺少中间的一堆.pom及.jar、.aar文件

解决方法:从Windows下载好的.pom及.jar、.aar文件拷贝到/root/.m2/相应目录中


4.使用mvn install过程中报错如下

1)在windows能正常mvn install,linux环境下报错如上

2)将linux本地maven缓存文件(.m2/repository)全部删除,然后windows系统maven下载好的依赖文件删除多余文件_remote.repositories、*.sha1和*.lastUpdated文件后,拷贝到linux相应目录


注意:手动从windows拷贝依赖文件到linux系统中,需要将多余的*.lastUpdated、*.sha1、_remote.repositories、文件删除,仅拷贝jar/pom/aar文件即可(一般情况下,需要将缺少的jar文件的整个系列一起拷贝,如相同目录下的api、parent)


四、扫描命令(蓝色字体部分内容根据实际情况填写

1.后端代码(java-maven)

cov-configure --java

cov-build --dir results mvn clean install

cov-analyze --dir results --all -aggressiveness-level high

cov-format-errors --dir results --html-output htmlResults

cov-commit-defects --host [Server IP] --dataport [Server Port] --stream [Project Name] --version [Version] --user [Username] --password [Password] --dir results

备注:初次扫描发现问题659个,中间过程中开发修改后扫描,总共经过7次扫描,最终问题全部解决


2.前端代码(vue-js)

cov-configure --javascript

cov-build --dir results --no-command --fs-capture-search ./

cov-analyze --dir results --all --aggressiveness-level high

cov-format-errors --dir results --html-output htmlResults

cov-commit-defects --host [Server IP] --dataport [Server Port] --stream [Project Name] --version [Version] --user [Username] --password [Password] --dir results

备注:扫描结果无error,扫描过程中也没有报错,详见“前端代码扫描过程”


Sonarqube扫描CRM项目

一、项目属性

1.前端代码为vue-js;后端代码为maven管理的java项目

2.开发接口人

陈强


二、sonar-scanner配置

1.下载并解压sonar-scanner.xxx.zip

2.配置环境变量

(1)windows

计算机属性-->高级系统设置-->环境变量-->admin的用户变量-->Path-->编辑-->新建(内容如下)

D:\sonar-scanner-4.2.0.1873\bin

(2)linux(在/root/.bashrc中添加如下内容)

sonar-scanner=D:\sonar-scanner-4.2.0.1873

PATH=$PATH:...:$sonar-scanner/bin


三、环境配置

1.java版本(1.8)

C:\Program Files\Java\jdk1.8.0_241\bin

2.maven版本(3.6)

D:\apache-maven-3.6.1\bin

3.sonar-scanner

D:\sonar-scanner-4.2.0.1873\bin


四、扫描过程中遇到的问题

1.mvn编译过程中报错“Please provide compiled classes of your project with sonar.java.binaries property”

问题原因:sonarQube 4.12开始,sonar将会进行程序的动态检查,不配置sonar.java.binaries属性将会出错


解决方法:需要在sonar-scanner安装目录下/conf/sonar-scanner.properties文件添加sonar.java.binaries

# sonar.java.binaries=项目路径/target/classes

sonar.java.binaries=D:\new-CRM-master-sonar\target\classes


五、扫描命令(蓝色字体部分内容根据实际情况填写

1.后端代码(java-maven)

(1)源代码目录下执行

mvn clean install

(2)源代码目录下执行如下命令

mvn sonar:sonar -Dsonar.projectKey=xxx -Dsonar.sources=. -Dsonar.host.url=http://xxx/ -Dsonar.login=xxx -Dsonar.projectName=xxx


2.前端代码(vue-js)

sonar-scanner.bat -D"sonar.projectKey=xxx" -D"sonar.sources=." -D"sonar.host.url=http://xxx" -D"sonar.login=xxx" -D"sonar.projectName=xxx"

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/607.html

分享给朋友:

“Coverity扫描CRM项目(cav扫描仪器)” 的相关文章

Gitlab概览

Gitlab是开源的基于Git的仓库管理系统,也可以管理软件开发的整个生命周期,是项目管理和代码托管平台,支撑着整个DevOps的生命周期。Gitlab很容易选为GitHub,作为公司私有库管理的工具。我们可以用Gitlab Workflow来协同整个团队的软件开发管理过程。软件开发阶段Gitlab...

迁移GIT仓库并带有历史提交记录

迁移git仓库开发在很多时候,会遇到一个问题。GIT仓库的管理,特别是仓库的迁移。我需要保留已有的历史记录,而不是重新开发,重头再来。我们可以这样做:使用--mirror模式会把本地的分支都克隆。// 先用--bare克隆裸仓库 git clone git@gitee.com:xxx/testApp...

面试被逼疯:聊聊Python Import System?

面试官一个小时逼疯面试者:聊聊Python Import System?对于每一位Python开发者来说,import这个关键字是再熟悉不过了,无论是我们引用官方库还是三方库,都可以通过import xxx的形式来导入。可能很多人认为这只是Python的一个最基础的常识之一,似乎没有可以扩展的点了,...

el-table内容\n换行解决办法

问题请求到的数据带有换行符 '\n'但页面展示时不换行statusRemark: "\"1、按期完成计划且准确率100%,得100分;\n2、各项目每延误1天,扣1分;每失误1次或者员工投诉1次,扣3分,失误层面达到公司级影响较大的,该项绩效分数为0\"\n&...

有效地简化导航-Part 1:信息架构

「四步走」——理想的导航系统要做一个可用的导航系统,网页设计师必须按顺序回答以下4个问题:1. 如何组织内容?2. 如何解释导航的选项?3. 哪种导航菜单最适合容纳这些选项?4. 如何设计导航菜单?前两个问题关注构建和便签内容,通常称为信息架构。信息架构师通常用网站地图(site map diagr...

VUE3+JAVA商城源码小程序APP商城

三勾小程序商城基于springboot+element-ui+uniapp打造的面向开发的小程序商城,方便二次开发或直接使用,可发布到多端,包括微信小程序、微信公众号、QQ小程序、支付宝小程序、字节跳动小程序、百度小程序、android端、ios端。软件架构后端: springboot2.3.12管...