我开始修复一个使用maven的java项目,同时我已经构建了项目,在运行时它失败并且缺少依赖关系。我看了一下,错误遗漏了包含编译时依赖的可选依赖。我可以通过并添加这些内容,但在我看来,我可以将所有的东西都构建并运行得很好,只是因为我遗漏了一些代码而使用了缺失的依赖关系,整个事情就会崩溃。Maven和可选的运行时依赖关系
我真正想知道的是,是否有发现,我选择不包括可选依赖自动化的方式。我已经使用mvn dependency:tree
,但这只显示我拥有的依赖项(不确定它检查的范围),我试过mvn dependency:analyze
,但是这似乎表明它认为我不使用的依赖项以及那些已被间接拉下的依赖项。我看不到的是如何查看我不包含的可选项列表。
目前我解决此工作的方法是阅读劲歌,并尝试从那里工作了,但我不认为这是特别强劲。
仅供参考,我是相当新的Maven的风格依赖管理和面对它喜欢它,但是这件事可选是有点对我来说是绊脚石。我明白,可选项阻止了我将不会使用的依赖关系,但它没有为我单击我如何可以研究哪些可选项可用并且我确实需要。
我使用Eclipse朱诺,m2eclipse的(也有行家3.0.5 CLI),java的6/7。
任何人有任何想法,我怎么能做得更好,或者我完全忽略了什么?
谢谢。今晚我会看看这个。 – 2013-04-16 15:14:30
K,另一个线程看起来很有趣,但并不能帮助我解决我的问题。如果这是我的代码,我会有一些机会,但是在代码中计算不属于我的可选项仅仅是痛苦的。我喜欢mvn help:effective-pom。我仍然认为,调查所需的依赖关系和识别可选项的poms似乎是我现在唯一的选择。我会等待其他人是否有任何答案,然后考虑回答问题。 – 2013-04-16 19:12:10
耶 - 不是在这个意义上的答案:) 我偶然发现一个报告:http://maven.apache.org/plugins/maven-project-info-reports-plugin/dependency-convergence-mojo.html - 也许在报告部分有一些也提供了可选依赖关系的信息 – wemu 2013-04-17 08:55:48