Как исключить зависимость, определенную в pom.xml из плагина, определенного в том же pom

#maven #plugins #dependencies #pom.xml

#maven #Плагины #зависимости #pom.xml

Вопрос:

У меня есть pom.xml в котором у меня есть зависимость, определенная как:

 <dependency> 
            <groupId>abc.xyz.pig</groupId>
            <artifactId>pig</artifactId> 
            <version>10</version> 
            <scope>provided</scope>
        </dependency> 
  

Я хочу определить новый плагин в том же файле, для которого мне нужна более высокая версия той же зависимости. Как мне заставить мой плагин использовать более высокую версию зависимости и игнорировать более низкую версию, определенную выше?

Я попытался добавить зависимость от более новой версии в определение моего плагина следующим образом, но это не сработало:

 <plugin>
    <groupId>my_plugin</groupId>
    <artifactId>my_plugin_artifact</artifactId>
    <version>0.1.1</version>        
    <executions>
          <execution>
            <goals>
              <goal>my_plugin_goal</goal>
            </goals>
          </execution>
    </executions>
    <dependencies>
        <dependency>
          <groupId>abc.xyz.pig</groupId>
          <artifactId>pig</artifactId>
          <version>11</version>
        </dependency>
   </dependencies>
</plugin>
  

Комментарии:

1. Вы проверили изменение с помощью mvn -X .. ? Кроме того, звучит действительно странно определять зависимость, как указано, но с плагином, которому также нужна эта зависимость, но с другой версией? Является ли сам pom плагином pom или нет?

2. Да, я проверил это, это просто показывает, что он загрузил и использовал более низкую версию. В pom есть много других вещей с другими плагинами, и мне нужно добавить мои в существующую структуру.