[ 
https://issues.apache.org/jira/browse/MNG-8174?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17863145#comment-17863145
 ] 

Michael Osipov commented on MNG-8174:
-------------------------------------

Does 3.8.8 fail as well?

> DefaultModelBuilder throws a NPE on self-referencing property
> -------------------------------------------------------------
>
>                 Key: MNG-8174
>                 URL: https://issues.apache.org/jira/browse/MNG-8174
>             Project: Maven
>          Issue Type: Bug
>    Affects Versions: 3.9.5, 3.9.8
>            Reporter: Henrik Rueping
>            Priority: Minor
>
> The method org.apache.maven.model.building.DefaultModelBuilder.build(...) 
> throws a Null-Pointer Exception when trying to resolve a pom with a 
> self-referencing property, e.g.
> {code:xml}
> <properties>
>   <prop>${prop}</prop>
> </properties>
> {code}
> A (rather) minimal example can be found at
> [https://github.com/HenrikRueping/pom-property-resolution-test]
> The stacktrace is
> {code:java}
> java.lang.NullPointerException: Attribute value can not be null
>       at org.codehaus.plexus.util.xml.Xpp3Dom.setAttribute(Xpp3Dom.java:208)
>       at 
> org.apache.maven.model.interpolation.StringVisitorModelInterpolator$ModelVisitor.visit(StringVisitorModelInterpolator.java:725)
>       at 
> org.apache.maven.model.interpolation.StringVisitorModelInterpolator$ModelVisitor.visit(StringVisitorModelInterpolator.java:730)
>       at 
> org.apache.maven.model.interpolation.StringVisitorModelInterpolator$ModelVisitor.visit(StringVisitorModelInterpolator.java:730)
>       at 
> org.apache.maven.model.interpolation.StringVisitorModelInterpolator$ModelVisitor.visit(StringVisitorModelInterpolator.java:730)
>       at 
> org.apache.maven.model.interpolation.StringVisitorModelInterpolator$ModelVisitor.visit(StringVisitorModelInterpolator.java:730)
>       at 
> org.apache.maven.model.interpolation.StringVisitorModelInterpolator$ModelVisitor.visit(StringVisitorModelInterpolator.java:693)
>       at 
> org.apache.maven.model.interpolation.StringVisitorModelInterpolator$ModelVisitor.visit(StringVisitorModelInterpolator.java:674)
>       at 
> org.apache.maven.model.interpolation.StringVisitorModelInterpolator$ModelVisitor.visit(StringVisitorModelInterpolator.java:524)
>       at 
> org.apache.maven.model.interpolation.StringVisitorModelInterpolator$ModelVisitor.visit(StringVisitorModelInterpolator.java:571)
>       at 
> org.apache.maven.model.interpolation.StringVisitorModelInterpolator$ModelVisitor.visit(StringVisitorModelInterpolator.java:232)
>       at 
> org.apache.maven.model.interpolation.StringVisitorModelInterpolator.interpolateModel(StringVisitorModelInterpolator.java:101)
>       at 
> org.apache.maven.model.building.DefaultModelBuilder.interpolateModel(DefaultModelBuilder.java:770)
>       at 
> org.apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.java:385)
>       at 
> org.apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.java:247)
> {code}
> It seems like the cause is that Xpp3Dom.setAttribute does not accept null 
> values,
> but the interpolate Method 
> in org.apache.maven.model.interpolation.StringVisitorModelInterpolator 
> returns null on a self-referencing property.
> My Expectation would be that in such a case either a ModelBuildingException 
> is thrown, or it behaves like in the usual case of an undefined property, 
> e.g. the string "${prop}" is in the parsed model.
> Maybe it is a good idea to add for each test case with an undefined property 
> an analogous test case with a self-referencing property.
> In Eclipse this Exception is still thrown when editing a pom with a 
> self-referencing property.
> I would say this is a minor issue, currently I can simply catch the 
> NullPointerException hoping that there are no other causes for a 
> NullPointerException.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to