You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Rik Schaaf (JIRA)" <ji...@apache.org> on 2019/01/14 12:48:00 UTC
[jira] [Updated] (MNG-6564) Lack of ability to overwrite properties
of specified dependencies
[ https://issues.apache.org/jira/browse/MNG-6564?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Rik Schaaf updated MNG-6564:
----------------------------
Description:
For example, if I want to update the flyway version to 4.2.0 in spring boot 1.5 (by default Flyway 3.2.1) I want to do something like this:
{code:xml}
<properties>
<flyway.version>4.2.0</flyway.version>
<springboot.version>1.5.17.RELEASE</springboot.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${springboot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependencies>
</dependencyManagement>
{code}
The flyway dependency is already defined in spring-boot-dependencies:
{code:xml}
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-core</artifactId>
<version>${flyway.version}</version>
</dependency>
{code}
But that same pom also defines flyway.version to be 3.2.1. When I include the flyway dependency in my own dependency management, my application does correctly use Flyway 4.2.0, but if I only provide the property, it incorrectly uses version 3.2.1, meaning that my property was ignored. I have heard from others that you can forcefully override a property by using a commandline parameter or an environment variable, but I would prefer to use a property in my pom file instead.
> Lack of ability to overwrite properties of specified dependencies
> -----------------------------------------------------------------
>
> Key: MNG-6564
> URL: https://issues.apache.org/jira/browse/MNG-6564
> Project: Maven
> Issue Type: Bug
> Components: Dependencies
> Affects Versions: 3.3.9
> Reporter: Rik Schaaf
> Priority: Major
>
> For example, if I want to update the flyway version to 4.2.0 in spring boot 1.5 (by default Flyway 3.2.1) I want to do something like this:
> {code:xml}
> <properties>
> <flyway.version>4.2.0</flyway.version>
> <springboot.version>1.5.17.RELEASE</springboot.version>
> </properties>
> <dependencyManagement>
> <dependencies>
> <dependency>
> <groupId>org.springframework.boot</groupId>
> <artifactId>spring-boot-dependencies</artifactId>
> <version>${springboot.version}</version>
> <type>pom</type>
> <scope>import</scope>
> </dependency>
> <dependencies>
> </dependencyManagement>
> {code}
> The flyway dependency is already defined in spring-boot-dependencies:
> {code:xml}
> <dependency>
> <groupId>org.flywaydb</groupId>
> <artifactId>flyway-core</artifactId>
> <version>${flyway.version}</version>
> </dependency>
> {code}
> But that same pom also defines flyway.version to be 3.2.1. When I include the flyway dependency in my own dependency management, my application does correctly use Flyway 4.2.0, but if I only provide the property, it incorrectly uses version 3.2.1, meaning that my property was ignored. I have heard from others that you can forcefully override a property by using a commandline parameter or an environment variable, but I would prefer to use a property in my pom file instead.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)