"<dependency>标签中的<type>标签是什么意思?"

4

我正在处理两个不同的项目,这两个项目都声明了相同的依赖项,一个没有 <type> ,另一个使用了 <type>test-jar</test>。但是我无法找到一个合适的解释来说明它的含义。

1个回答

3
通常,测试类不会被打包到 jar 文件中;它们在构建期间执行,然后只有主要的类被导出。
然而,有些情况下您确实希望出于某种原因导出测试类,并将它们打包成一个“test-jar”。当您有集成测试(例如 REST 或 Selenium),需要将应用程序打包并部署到一个分阶段环境时,就可以使用这种方法。您的 CI 服务器可以部署 jar 文件,然后获取 test-jar 并从中运行测试类。

那么,当我的项目声明依赖于类型为 test-jar 的构件时,这意味着它不仅依赖于构件的主要类,还依赖于构件的测试类吗? - gicig
@akaRoga 正确。比如说,可能有一个用于 Selenium 测试的抽象基类或者其他类被使用了。 - chrylis -cautiouslyoptimistic-
这里也有很好的解释:https://maven.apache.org/ref/3.6.1/maven-model/maven.html#dependency,并且有一个链接,介绍了由默认工件处理程序(`依赖类型 <-> 工件定义`)提供的映射 https://maven.apache.org/ref/3.6.1/maven-core/artifact-handlers.html。 - gicig

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接