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

Coverity扫描CRM项目(scan validation tool扫描软件)

zonemu3个月前 (07-21)技术文章34

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"

相关文章

Ubuntu 25.04发行版登场:Linux 6.14内核,带来多项技术革新

IT之家 4 月 18 日消息,科技媒体 linuxiac 昨日(4 月 17 日)发布博文,报道称代号为 Plucky Puffin 的 Ubuntu 25.04 发行版正式上线,搭载最新 Linu...

最美 Linux 发行版之争还在继续,Elementary OS 0.3 发布 0.3 Freya 更新

对于个人终端消费者而言,Linux 发行版们依然希望通过 UI 革新来吸引他们的注意。除了 Ubuntu 这样综合能力强的选手,偏重界面的发行版里,前有 OpenSUSE,后有 Linux Mint,...

前端React面试基础系列(React基础篇)

本文阅读8分钟,喜欢的小伙伴可以持续关系小编哦1. 什么是受控组件和非受控组件?受控组件像表单元素在用户输入时,像<input> <select>等元素需要绑定一个 chang...

gitlab简单搭建与应用(gitlab怎么用)

一、gitlab1、简介GitLab是利用Ruby on Rails一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。与Github类似,GitLab...

使用Java统计gitlab代码行数(统计github代码行数的方法)

使用Java统计gitlab代码行数一、背景:需要对当前公司所有的项目进行代码行数的统计二、 可实现方式1.脚本:通过git脚本将所有的项目拉下来并然后通过进行代码行数的统计样例:echo 创建项目对...

VIM配置整理(vim配置教程)

一、基本配色set number set showcmd set incsearch set expandtab set showcmd set history=400 set autoread se...