可视化Java 9模块关系

正如我在之前的文章中所述 ,我已经在Java 9 + Jigsaw构建上运行Eclipse Neon了一段时间,并且没有任何问题。 我在周末花费了几个小时来修改一些模块化工具的想法。 我为Eclipse Neon写了一个小插件,可视化了各个模块之间的连接。

可视化Java 9模块关系

现在的实现有些粗糙,因为我专注于整理如何使各种技术起作用。 每当用户突出显示Java项目(例如,在Package Explorer,Project Explorer或Navigator中)时, Modules Dependencies View都会更新:它查询与该项目关联的Java运行时以获取其模块列表以及它们之间的可读性关联,然后使用Eclipse GEF Zest使结果可视化。

我现在查询Java运行时的部分是一个巨大的漏洞,但是好消息是,在使用可视化工具时,我可能已经找到了一种更好的,不太麻烦的方法来完成此任务。 稍后再详细介绍。

我还只是在重新学习如何使用Zest(不是我曾经是Zest的专家),所以我可以使用布局算法做更多的事情。 我所做的一件事是使它成为可能,从而使您可以双击深入到任何单个模块。

可视化Java 9模块关系

在讨论过程中,我整理了一个快速树状视图,可让您深入了解模块之间的读取关系。

可视化Java 9模块关系

这当然很丑陋,但是对我来说所有的部分都非常有用。 我需要使用自定义jimage进行测试(也许我会基于紧凑型配置文件之一构建一个jimage )。

在可视化中包含Java项目的完整构建路径(例如,工作空间内容和JAR文件)也很酷。 我也完全忽略了层,可能应该考虑一些代表层。

我还没有推出代码; 稍加烘焙后,它将出现在Eclipse Labs中

请注意,JDK 9会略有下滑:距离“功能完成”的最后期限还不到两周,因此提出了将发布日期延长六个月的提议

翻译自: https://www.javacodegeeks.com/2015/12/visualizing-java-9-module-relationships.html