插件的依赖项中的Maven范围

时间:2019-01-03 10:42:15

标签: maven-3

我正在使用Maven 3.x(3.2.5),并且我的项目使用带有附加依赖项的maven-antrun-plugin。虽然我了解背后的原理,但是在这种情况下我很难理解<scope />的使用:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-antrun-plugin</artifactId>
  <version>1.8</version>
  <!-- executions -->
  <dependencies>
    ... 
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.17</version>
      <scope>runtime</scope>
    </dependency>
    ...
  </dependencies>
</plugin>

我依靠mysql-connector-java的{​​{1}}范围,而其他依赖项使用默认(runtime)的范围。

compile用于对各种数据库进行操作(因此具有依赖性)。但是,由于该项目未绑定到特定的JDBC驱动程序,因此不会将该驱动程序添加到项目依赖项中。 Ant任务以多个驱动程序作为依赖项运行,因为它可能根据配置使用 (例如:一个数据库可以使用maven-antrun-plugin,其他jdbc:mysql等)。 。

据我了解,由于该插件已执行,因此maven会忽略范围。

是真的吗?

注意:我已经读过Maven documentation,并且没有讨论这一点。我敢肯定它会被忽略,但是我想先了解一下。

0 个答案:

没有答案