我的 POM 中有一个依赖项,需要将其设置为“提供”,因此它不会包含在编译中,但仍然可以在我的项目中引用。当我去运行测试时,我希望相同的依赖项具有“测试”范围,这样我就不必手动将 jar 添加到我的类路径中。有没有办法做到这一点或达到类似的结果?
这背后的原因是,我的 JBOSS lib 目录中提供了一些常见的 jar,因此我想使用这些并为构建的战争保留它们的“提供”范围。但是,当我从命令行运行 JUnits 时,我想使用存储库中的 jar,而不需要手动将其添加到类路径中。
提前致谢
From Maven 文档 http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html:
provided这很像编译,但表明您需要 JDK
或在运行时提供依赖项的容器。例如,当
为 Java 企业版构建 Web 应用程序,您将
将 Servlet API 和相关 Java EE API 的依赖关系设置为
提供范围是因为 Web 容器提供了这些类。这
范围仅在编译和测试类路径上可用, 并且是
不具有传递性。
我在 Maven 3.0.3 中检查了这对我有用。遇到同样的问题,我需要在编译和测试时具有 servlet 依赖项,但未编译,因为它随应用程序服务器发行版一起提供。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)