我遇到了一些示例代码,它们在插件标记中指定依赖项,如下所示:
<build>
<plugins>
<plugin>
<dependencies>
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>2.2.8</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
对我来说这看起来很奇怪,因为大多数情况下我看到人们将依赖项标记放在构建标记之外。
答案 0 :(得分:1)
将<dependency>
添加到项目时,该项目可以使用它,具体取决于其范围(编译,测试,运行时等)
但是当你在插件的执行中添加<dependency>
时,你会在运行时在类路径中为该插件提供该工件
例如:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<id>check my sources</id>
<goals>
<goal>check</goal>
</goals>
<phase>compile</phase>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>checkstyle</groupId>
<artifactId>checkstyle</artifactId>
<version>4.4</version>
</dependency>
</dependencies>
</plugin>
此代码段checkstyle:checkstyle:4.4
中的在运行时可用于maven-checkstyle-plugin
阅读更多