【发布时间】:2019-03-31 13:05:52
【问题描述】:
问题:
我有一个 2000 年代初期的大型、陈旧、杂乱无章的 Java 项目。
项目是使用ant构建的。
没有依赖管理,一切都是通过本地存储jar来处理的。
构建脚本的compile 和package 目标非常广泛,主要是编译并随后打包整个项目,根据需要改组环境特定的属性文件。
在项目生命周期的某个时间点,引入了一些单独的构建目标,以启用用于管理工具等的 Web 界面。
但是,由于没有依赖管理,而且构建脚本的选择性不高,当前的流程是打包整个 Web 应用程序并将其与管理工具一起部署,两者之间的差异非常少。二。
我目前正着手尝试通过弃用和重构 ant 构建文件并通过 CI 工具引入构建/部署自动化,从而使代码库更加健全。
作为此工作下一阶段的一部分,我想尝试重构项目结构和构建文件,以仅将它需要打包的内容分别打包到管理工具和生产 Web 应用程序的 war 文件中,并且希望只编译一次而不是多次。
为了解决这个问题,我可能需要为给定的 JSP 构建一个依赖项列表,或者至少是一个 java 类的列表。手动进行跑腿来追踪一些东西对我来说并不逊色,但项目的范围足够大,如果没有一些自动帮助,我根本没有希望在合理的时间内完成任务。
我还没有找到不涉及大量软件许可证或已经在使用 Maven 的项目的解决方案。
鉴于 Eclipse 可以从该项目中的任意源文件中获取任意方法并在相应的文件系统上找到我的资源,这似乎不是一个无法解决的工程难题 -
是否有免费的(如啤酒,最好也如软件)解决方案来为这样的项目生成依赖关系图(或类似的)?
如果做不到这一点,堆栈溢出的好公民能否为我可能没有考虑过的问题提出不同的方法?
【问题讨论】:
-
虽然我非常同情您的问题,但我必须告诉您,此类产品推荐在本网站上是题外话。
-
@JoeC 我明白你的意思。我愿意接受有关重新措辞的建议,以便更清楚地说明这一点,但是,老实说,我认为仅将特定产品链接到这个问题的答案并不令人满意。我正在寻找的是生态系统成员用来解决现有项目中此类问题的某种机制或方法。
标签: java dependency-management