繁体   English   中英

如何找到对Java类的所有引用(即,依赖关系,传入耦合)?

[英]How do I find all references (i.e., dependencies, afferent couplings) to a Java class?

使用Eclipse,我可以选择一个类并列出所有引用( Ctrl + Shift + G )。 我正在为整个开发团队寻找一种从中心位置(如SonarQube服务器)获取相同引用列表的机制。
当我深入研究SonarQube上的一类时,它显示了传入耦合的数量。 我如何找出它们是什么? 我知道Sonar会花费大量时间/空间来生成这种报告,但是也许有一个插件可以根据请求(根据Jenkins作业的执行情况)进行计算。

可以用于在给定代码库中列出与Java类型的依赖关系(解决方案耦合)的解决方案的任何建议都将有所帮助。

经过漫长的搜索,我们发现了整个Java开发组织,进行了试验,配置和最近才推出了针对该问题的解决方案。 以下是解决方案的摘要:

  • 我们有几个java项目,大致分为libs和(web)应用程序。
  • 应用程序可以使用不同的库。 挑战在于在我们的整个代码库中找到我们一个库中给定类/方法/构造函数的所有调用方。
  • 我们使用持续集成工具(Jenkins),该工具每周从主干构建一次所有库和应用程序,以进行部署(一种每周连续交付的交付方式)。
  • 我们配置了在每周部署中运行的作业,以将所有生成的jar / war / ear文件复制到特定的服务器计算机上。
  • 在该服务器计算机上,我们安装了Dependency Finder工具 这个惊人的免费工具是解决方案的关键。 它可以解析和提取已编译代码中的所有依赖项(例如,在jar文件中)。 然后,用户可以查询该工具有关传出(出站)和传入(入站)依赖项的信息。 那里的大多数工具都给您带来了依赖性。
  • 在该服务器计算机上,我们会自动运行一个脚本,该脚本调用依赖关系查找器以在每周生成一次之后立即处理所有jar文件(即从中提取所有依赖关系)。 处理整个代码库不到一个小时。
  • 在那台机器上,我们还将Dependency Finder附带的Web应用程序(war)部署到了本地Tomcat。 (Dependency Finder带有GUI(Swt)客户端,命令行版本和Web UI版本。
  • 我们与所有开发人员共享了到Dependency Finder Web界面的URL。
  • 使用Web UI,任何人都可以快速指定查询。 要查询类中给定方法的所有入站依赖关系,大约需要20秒。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM