在单个项目中使用多个API时,除了项目已使用的其他所需库(如Apache Commons,日志记录等)之外,每个API所需的JAR文件也会添加到项目中。这有时会导致大量的jar文件。
当不再使用某个API或库时,最好删除与之关联的JAR文件。但是,存在另一个API或库需要它的风险。在项目建设期间,这并不总是很明显。有时,缺少的JAR仅在运行时抛出错误。
我有以下问题:
答案 0 :(得分:1)
是的,我同意Maven可以在这种情况下帮助你。基本上在Maven编译&每个工件(jar / war / ear / etc)的运行时依赖项都在pom.xml文件中声明。如果多个依赖项依赖于相同的工件,则使用最新版本 - 例如:
A-1.0.jar -- depends on --> C-2.0.jar
B-1.0.jar -- depends on --> C-2.1.jar
您的项目中只包含C-2.1.jar。
如果找不到/取出所需的依赖项,Maven构建将自动失败。因此,为了避免缺少运行时依赖性,您可以在运行时范围内声明特定工件的依赖关系 - 当您不再需要它时,您只需将其取出
答案 1 :(得分:0)
多年前我曾经在UNIX上使用过一个老技巧,它可能仍然适合你。首先使用UNIX“touch”将所有文件的日期/时间设置为当前日期/时间。然后等待至少一分钟。然后运行您的应用程序然后运行UNIX“ls -lut”列出所有文件,但是这次未使用的文件将在第一步中设置日期/时间,而那些使用的日期/时间将具有更新的日期/时间,因为“u”切换报告上次使用的日期/时间。