1.使用snyk对第三方JAR包进行扫描(需要先安装snyk);
2.按住windows+r输入cmd进入命令控制行;
3.使用snyk进行扫描,cd进入包含pom.xml文件的目录下
ps:将 /path/to/xmlsec-1.5.6.jar
替换为实际的文件路径。
cd /d cd /path/to/your/project
4.对整个pom.xml扫描的命令
snyk test --print-deps > snyk-vulnerabilities.txt
注:这个代码会生成一个包含依赖项列表、已知安全漏洞以及建议的修复方法的文本报告。
类似于这种
当然了,还可以生成HTML形式的
snyk test --html > snyk-vulnerabilities.html
5.根据这个文档里面的内容就可以对pom.xml里面的依赖进行升级;
注:建议不能直接升级的依赖不要升级,可以会因为兼容性问题报错,后面找会很麻烦;
第二部分:我的任务是需要在某个依赖里面排除一些依赖项
1.这个问题我一开始没有很好的方法,就是在cmd窗口生成依赖树,然后看哪些依赖引入了,在这个依赖里面进行排除;具体需要排除什么直接替换;
<dependency>
<groupId>依赖项的groupId</groupId>
<artifactId>依赖项的artifactId</artifactId>
<version>依赖项的版本</version>
<exclusions>
<exclusion>
<groupId>com.io7m.xom</groupId>
<artifactId>xom</artifactId>
</exclusion>
</exclusions>
</dependency>
2.直接生成的内容很杂很乱,不好排查。我摸索到下面这个方法:
如果我们需要排除的是 osgi-resource-locator这个依赖项
2.1直接在cmd中输入下面这行命令,即可得到与osgi-resource-locator相关的依赖树,不会得到其他的依赖内容,相对简洁;
mvn dependency:tree -Dincludes=org.osgi:org.osgi.resource-locator
2.2根据得到的依赖树对pom.xml进行定向的依赖排除,下面这个是你排除完进行检测的命令
mvn dependency:tree | findstr osgi-resource-locator
等它检索完毕即可,如果没有排除完,会显示出相关的依赖路径;反正则什么都不会显示;
3.这些就是我在依赖升级方面的一些问题,供我自己学习,希望也能帮助到你们。
ps:持续更新这个..
标签:xml,依赖,resource,JAR,locator,osgi,snyk,第三方 From: https://blog.csdn.net/weixin_56882678/article/details/143630889