我有一个简单的测试目的gradle项目,我想用gradle dependencies
命令扫描它的依赖项。在我这样做之前,我想确保项目的依赖项实际上是在gradle的缓存中找到的(.gradle/caches/modules-2/files-2/1
)。为此,我运行gradle assemble
命令以在扫描之前下载缺少的依赖项。
我发现只有当项目中有一个带有Java文件的src/main/java
文件夹时(即使该Java文件完全为空)它才能工作。
这是一个有效的解决方法吗?有没有更好的解决方案来保证在扫描之前在缓存文件夹中找到依赖项?
你想要这样做的原因是什么?
assemble
任务汇集你的源文件,如果没有任何东西可以组装,那么就不需要运行任务了。事实上,你将java文件添加到src是一个hack来运行这个任务及其子任务。
根据您想要实现的目标,几乎没有“扫描”依赖关系的方法。
欲了解更多信息,您可以访问https://docs.gradle.org/current/userguide/userguide_single.html#sec:listing_dependencies
另外:
有一个netflix插件,我相信可以扫描您的gradle脚本检查未使用的依赖项https://github.com/nebula-plugins/gradle-lint-plugin
有一个插件可以扫描使用的依赖项等的漏洞https://jeremylong.github.io/DependencyCheck/dependency-check-gradle/