[ https://issues.apache.org/jira/browse/MNG-5900?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15223115#comment-15223115 ]
Christian Schulte commented on MNG-5900: ---------------------------------------- I meant documenting that {{this}} is not to be confused with the way the Java keyword {{this}} works. {code} class A { void method() { this.effectiveMethod(); ^^^^ It's that 'this' I am talking about. } void effectiveMethod() { System.out.println("A"); } } class B extends A { void effectiveMethod() { System.out.println("B"); } } {code} {code} new A().method(); A new B().method(); B {code} The {{this}} in class A will lead to the method in class B getting called. So {{this}} refers to the effective object (A or B) and not A and only A. That's what I find misleading. Linking to this issue in the documentation would already be sufficient as everything is mentioned here now already. > early interpolation: support ${this.*} as expression > ---------------------------------------------------- > > Key: MNG-5900 > URL: https://issues.apache.org/jira/browse/MNG-5900 > Project: Maven > Issue Type: New Feature > Components: Inheritance and Interpolation > Reporter: Robert Scholte > Fix For: Issues to be reviewed for 4.x > > > Right now we have $\{project.\*} which always interpolates values based on > the final project: "classical" interpolation is "late" interpolation. So it > is not possible that parent poms can lock values, ie avoid child poms > override. By adding $\{this} for "early" interpolation, it will be possible > to have intermediate interpolation. > If a pomfile depends on a parent, that parent will first resolve all > $\{this.\*} values for itself. Once the fully inherited pom is there, all > $\{project.\*} will be resolved. -- This message was sent by Atlassian JIRA (v6.3.4#6332)