我开始修复一个使用 maven 的 java 项目,虽然我已经构建了项目,但在运行时它因缺少依赖项而失败。我看过了,错误缺少包含的编译时依赖项的可选依赖项。我可以通过并添加这些,但在我看来,我可以让所有东西都构建和运行得很好,只是因为我错过了使用缺少的依赖项的一些代码,整个事情就崩溃了。
我真正想知道的是是否有一种自动方法来查找我选择不包含的可选依赖项。我已经使用过mvn dependency:tree
,但这仅显示了我拥有的依赖项(不确定它检查的范围)并且我已经尝试过mvn dependency:analyze
,但这似乎显示了它认为我不使用的依赖项以及那些已被间接删除的依赖项。我看不到的是如何查看我不包括的选项列表。
目前我解决这个问题的方法是阅读 pom 并尝试从那里解决它,但我不认为这特别健壮。
作为参考,我对 maven 风格的依赖管理还很陌生,而且表面上很喜欢它,但是这个可选的东西对我来说有点绊脚石。我知道可选选项阻止我拉下我不会使用的依赖项,但它并没有让我知道如何锻炼可用的选项以及我确实需要的选项。
我正在使用 Eclipse Juno、m2Eclipse(也有 maven 3.0.5 cli)、java 6/7。
任何人都知道如何更好地做到这一点,或者我完全忽略了什么?