Область Maven в зависимостях плагина - PullRequest
0 голосов
/ 03 января 2019

Я использую 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 с областью действия runtime, тогда как другие зависимости используют значение по умолчанию (compile) Область применения.

maven-antrun-plugin используется, чтобы что-то делать с различными базами данных (отсюда и зависимость).Однако, поскольку проект не привязан к конкретному драйверу JDBC, драйвер не добавляется в зависимости проекта.Задача Ant запускается с несколькими драйверами в качестве зависимостей, поскольку может использовать такую ​​базу данных в зависимости от конфигурации (например: один может использовать jdbc:mysql, другой jdbc:oracle:thin и т. Д.).

Насколько я понимаю, поскольку плагин запускается, maven игнорирует область действия.

Это правда?

Примечание. Я прочитал документацию Maven и этот момент не обсуждается.Я почти уверен, что это игнорируется, но я хотел бы получить представление раньше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...