在单个项目中使用多个 API 时,除了项目已经使用的其他所需库(例如 Apache Commons、日志记录等)之外,还会将每个 API 所需的 JAR 文件添加到项目中。这有时会导致大量的 jar 文件。
当某个 API 或库不再使用时,最好删除与其关联的 JAR 文件。但是,存在另一个 API 或库需要它的风险。这在项目构建过程中并不总是很明显。有时,缺少的 JAR 仅在运行时抛出错误。
我有以下问题:
- 处理这个问题的最佳方法是什么?换句话说,能够删除 JAR 而不冒以后出现运行时错误的风险吗?
- 有人告诉我 Maven 解决了这个问题。可以?如果使用的外部 API 不是基于 Maven 的,它会起作用吗?我能否在不担心运行时错误的情况下删除 JAR?我需要重写我的整个项目以基于 Maven 吗?
- 非 JVM 平台如何处理共享库的问题并删除它们?Java 在这方面是否缺乏,或者它是所有平台的共同问题?