【问题标题】:Java dependency grapher [closed]Java依赖关系图[关闭]
【发布时间】:2019-03-31 13:05:52
【问题描述】:

问题:

我有一个 2000 年代初期的大型、陈旧、杂乱无章的 Java 项目。

项目是使用ant构建的。

没有依赖管理,一切都是通过本地存储jar来处理的。

构建脚本的compilepackage 目标非常广泛,主要是编译并随后打包整个项目,根据需要改组环境特定的属性文件。

在项目生命周期的某个时间点,引入了一些单独的构建目标,以启用用于管理工具等的 Web 界面。

但是,由于没有依赖管理,而且构建脚本的选择性不高,当前的流程是打包整个 Web 应用程序并将其与管理工具一起部署,两者之间的差异非常少。二。

我目前正着手尝试通过弃用和重构 ant 构建文件并通过 CI 工具引入构建/部署自动化,从而使代码库更加健全。

作为此工作下一阶段的一部分,我想尝试重构项目结构和构建文件,以仅将它需要打包的内容分别打包到管理工具和生产 Web 应用程序的 war 文件中,并且希望只编译一次而不是多次。

为了解决这个问题,我可能需要为给定的 JSP 构建一个依赖项列表,或者至少是一个 java 类的列表。手动进行跑腿来追踪一些东西对我来说并不逊色,但项目的范围足够大,如果没有一些自动帮助,我根本没有希望在合理的时间内完成任务。

我还没有找到不涉及大量软件许可证或已经在使用 Maven 的项目的解决方案。

鉴于 Eclipse 可以从该项目中的任意源文件中获取任意方法并在相应的文件系统上找到我的资源,这似乎不是一个无法解决的工程难题 -

是否有免费的(如啤酒,最好也如软件)解决方案来为这样的项目生成依赖关系图(或类似的)?

如果做不到这一点,堆栈溢出的好公民能否为我可能没有考虑过的问题提出不同的方法?

【问题讨论】:

标签: java dependency-management


【解决方案1】:

我看到这个问题被认为是重复的。

希望提升某人未来的谷歌搜索结果:

jdeps 将递归打印给定类名、类文件或 jar 的依赖项到标准输出,这可能是解决这个确切问题的成本最低的解决方案,并且预打包在 JDK 8 及更高版本中。

我发现在相关实用程序存在之前提出的一个 4 年前提出的问题中,我发现了 10 个答案,在一个收到 0 个赞成的答案上,所以,我觉得在这里重新发布它可能是有潜力的对网站未来用户的价值。

【讨论】:

    猜你喜欢
    • 2018-10-25
    • 2015-12-28
    • 1970-01-01
    • 1970-01-01
    • 2016-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多