Как переопределить свойство внутри самой зависимости? - PullRequest
0 голосов
/ 08 мая 2018

У меня есть текущий сценарий, pom.xml со многими зависимостями, и один из них, давайте предположим, что моя зависимость dependency.to.override.property зависит от версии других инструментов, которых я мог бы избежать .

Но артефакт dependency.to.override.property использует свойство с именем tools-to-избежать.version , и мне нужно переопределить это свойство, пока я вставляю зависимость , Я пытался переопределить его в теге properties , но он не работает.

Чтобы прояснить сценарий, я собираюсь показать здесь некоторый код:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.my.groupId</groupId>
    <artifactId>my-parent-pom</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>pom</packaging>

    <properties>
        <tools-to-avoid.version>o.p.q.RELEASE</tools-to-avoid.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.dependency.with.dependencies.list</groupId>
                <artifactId>dependency.to.override.property</artifactId>
                <version>x.y.z.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

</project>

Может кто-нибудь помочь мне с этим?

1 Ответ

0 голосов
/ 08 мая 2018

Полагаю, вы хотите сделать это, чтобы исключить их версию зависимости и использовать вместо нее свою собственную?

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

<dependencies>
<dependency>
  <groupId>com.dependency.with.dependencies.list</groupId>
  <artifactId>dependency.to.override.property</artifactId>
  <version>x.y.z.RELEASE</version>
  <scope>compile</scope>
  <exclusions>
    <exclusion>  <!-- declare the exclusion here -->
      <groupId>tools.to.avoid</groupId>
      <artifactId>artifact.to.exclude</artifactId>
    </exclusion>
  </exclusions> 
</dependency>

Проверьте эту ссылку для деталей: https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html

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