我想在每个项目中提供诸如spring,mockito和junit之类的测试依赖项,以使其尽可能容易地编写测试。 我应该对此依赖项使用依赖项管理还是在父pom中定义它们?
答案 0 :(得分:2)
是,您不需要在每个项目中都定义依赖项。只需在父pom中定义依赖项即可。子项目将自动继承其父pom。另外,如果您想使用其他版本的Mockito或其他任何东西。只需覆盖子项1中的父项依赖项即可。
答案 1 :(得分:2)
所有常见的依赖项都可以在父pom
文件中提及。 pom文件中主要可以提到四种依赖类型。
示例
<dependencies>
<!-- Library Dependencies created by ourselves -->
<dependency>
<groupId>it.myapp</groupId>
<artifactId>MyAppBootstrap</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>it.myapp.libs</groupId>
<artifactId>b2b_connecttion</artifactId>
</dependency>
<!-- Module Dependencies from our own modules-->
<dependency>
<groupId>it.myapp.mymodules</groupId>
<artifactId>RevenueManager</artifactId>
<version>${myapp.module.version}</version>
<classifier>classes</classifier>
</dependency>
<!-- 3rd Party Dependency -->
<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-rt</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc7</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-vfs2</artifactId>
<scope>provided</scope>
</dependency>
<!-- Dependencies for tests -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.jmockit</groupId>
<artifactId>jmockit</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
答案 2 :(得分:1)
有两种方法可以实现它-
您在gcc_ntox86_64
节点的父pom中声明依赖项,每个子项将从该依赖项中受益。
在<dependencies />
节点下的父pom中添加依赖项,并在需要它的每个子项中,在该节点中添加依赖项。您可以选择不设置依赖项的版本。
例如,如果您在父pom中声明:
<dependencyManagement />