查找未使用的gradle运行时依赖项
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了查找未使用的gradle运行时依赖项相关的知识,希望对你有一定的参考价值。
我正在更新大量遗留Java应用程序。当前版本使用ant及其依赖项来自每个项目的lib目录。依赖项是每个项目的一部分,并签入源代码控制。更新的目的是将构建转换为gradle并使用maven存储库进行依赖关系管理。为简单起见,遗留构建使用ant构造从其他项目的lib目录复制依赖项,如:
<fileset dir="../anotherlegacyproject/lib">
<include name="**/*.jar" />
</fileset>
此方法用于编译和运行时依赖性。虽然这有效,但由于包含许多在运行时不需要的jar,因此会导致部署工件膨胀。例如,许多项目在运行时中包括junit,hamcrest和jaxb-xjc,即使它们仅用于编译或测试。大多数项目都创建了一个zip文件和一个包含可部署应用程序的RPM。我想只在RPM中包含所需的运行时依赖项。
我正在尝试确定一种可靠的方法来识别这些未使用的运行时依赖项。
我已经回顾了帖子:How to find emove unused dependencies in gradle,但这并没有解决未使用的运行时依赖性。我尝试使用以下gradle插件,其中没有一个标识未使用的运行时依赖项:
- GitHub.com/nebula-plugins/grad了-临潼-plugin
- GitHub.com/WF Hartford/grad了-dependency-analyze
- docs.grad了.org/current/user贵的/J depend_plugin.html
我对任何能够可靠工作的解决方案持开放态度,但我的偏好将按以下顺序排列:
- 现有的gradle插件
- 可以合并到build.gradle文件中的代码或打包为插件的groovy代码
- 还要别的吗
最近我们将一些项目从1.6迁移到1.8,需要找出未使用的jar。我试图使用一些插件和工具,但无法解决我的问题。超过堆栈溢出我有一些洞察力来解决这个问题。以下是在项目中找出未使用的jar的步骤。
- 首先,您需要获取模块的最新EAR / WAR。假设您的模块名称是CheckDependency,那么请使用最新的EAR / WAR并将其从lib文件夹中取出。
- 现在在eclipse中用新的一个替换你模块的lib文件夹,它取自EAR / WAR。
- Eclipse转到你的模块并选择Gradle(STS)[这应该安装在你的机器上] - >命中任务快速启动器 - >选择projectTattleTaleReport它将在你的目标文件夹中生成名为tattleReport的所有报告
以上是关于查找未使用的gradle运行时依赖项的主要内容,如果未能解决你的问题,请参考以下文章
Gradle 依赖项未列出本地 maven jar 的依赖项
[在liferay portlet中使用skype gradle依赖项时出现错误