SCA组件识别
java识别方式:
maven:
mvn help:effetive-pom -Doutput=Effectivepom.xml
通过解析生成的xml,来获取项目中配置的三方组件
缺点:maven中同样也存在继承机制,会将parent project 中的配置一同解析出来,没有dependency:tree更加精准
优点:effective-pom这种方式,比dependency:tree对maven环境对要求低
gradle:
source ~/.bash_profile && cd %s && chmod 777 %s && ./gradlew projects --no-daemon
source ~/.bash_profile && cd '+gradlew_path+' && ./gradlew '+project_one+':dependencies --no-daemon
ant:
解析build.xml
php识别方式:解析composer.json
python识别方式:主动生成requirements.txt,来判断引用了哪些第三方组件;使用pipenv情况下,解析Pipfile.lock
nodejs识别方式:解析package.json
go语言:解析go.mod
ruby语言:解析Gemfile