You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Michael Osipov (Jira)" <ji...@apache.org> on 2024/07/05 07:25:00 UTC
[jira] [Commented] (MNG-8174) DefaultModelBuilder throws a NPE on self-referencing property
[ 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)