【问题标题】:Cleanup Antscript清理反脚本
【发布时间】:2011-01-18 01:36:12
【问题描述】:

是否有任何工具可以清理 ant 脚本?

我特别需要删除不必要的 jar 文件...我必须清理的 Ant 脚本有 500 多个条目,并且随着时间的推移变得不受控制。

【问题讨论】:

  • 这个工具如何知道哪些unnecessary jar 文件需要被删除?
  • 我想它可以加载主java文件并确定需要哪些外部jar,哪些不需要。
  • 请参阅:stackoverflow.com/questions/475516/… - Proguard 或类似产品可能会帮助您确定正在使用的内容。但如果你有超过 500 个罐子,任务可能会很困难。仅仅通过分析代码,不可能确定在所有情况下都可以使用的类集。此外,类可能会在运行时加载,而这些在简单的测试运行中可能并不明显。

标签: ant


【解决方案1】:

没有自动清理 jar 文件的方法。您可以查看 Java 代码中的各种 include 语句,但它们仅提及要包含的类,而不是 jar 本身。即使您可以确定特定类由 jarA.jar 提供服务,也可能是 jarA.jar 依赖于 jarB.jar。

您甚至可以开始一次删除一个 jar 文件,看看是什么破坏了您的构建。这可以有点自动化,特别是如果您通过文件集而不是每个特定的 jar 指定类路径。但是,如果您确实需要一个 jar 用于运行时,而不是用于构建,该怎么办?

我的建议是使用Ant with Ivy。 Ivy 为您提供相同的 Maven jar 依赖功能,而无需将您的项目转换为 Maven。

看看 Ivy,看看它是如何与 Ant 一起工作的。然后,如果可能,请您的开发人员准确确定他们需要哪些 jar 以及他们需要这些 jar 的哪些版本。你将不得不帮助他们。您可能必须检查存储库中的 jar,并尝试找出存储库中的 jar 版本。

您不必担心其他 jar 依赖的 jar。常春藤会为你解决这个问题。您只需要开发人员所依赖的 jar,他们应该知道,因为他们是在他们的程序中使用 include 语句来指定特定依赖项的人。

一旦您确定了所需的主要 jar(和修订版),您就可以轻松地转换您的 build.xml 文件以利用 Ivy 的 jar 依赖系统。完成此操作后,您可以从源存储库中删除所有 jar,因为 Ant with Ivy 将从基于 Internet 的 Maven 存储库系统下载所需的 jar。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-16
    • 2019-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多