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

Michael Osipov commented on MNG-7449:
-------------------------------------

We are waiting for [~redelang] to answer.

> [REGRESSION] StringVisitorModelInterpolator NullPointerException
> ----------------------------------------------------------------
>
>                 Key: MNG-7449
>                 URL: https://issues.apache.org/jira/browse/MNG-7449
>             Project: Maven
>          Issue Type: Bug
>          Components: Inheritance and Interpolation
>    Affects Versions: 3.8.5
>            Reporter: Ronnie de Lang
>            Priority: Major
>             Fix For: wontfix-candidate
>
>
> Since Maven 3.8.5 our own custom Maven plugin is failing with a 
> NullPointerException when trying to interpolate Maven properties in a Maven 
> model.
> Code:
> {code:java}
> StringVisitorModelInterpolator interpolator = new 
> StringVisitorModelInterpolator();
> interpolated = interpolator.interpolateModel(model, null, new 
> DefaultModelBuildingRequest(), new ModelProblemCollector() {
>     @Override
>     public void add(ModelProblemCollectorRequest 
> modelProblemCollectorRequest) {
>         problems.add(modelProblemCollectorRequest);
>     }
> }); {code}
> Stacktrace:
> {code:java}
> [ERROR] Failed to execute goal 
> nl.ing.cis.tools.deploy:deploy-configuration-maven-plugin:5.2.0:flatten 
> (default) on project DNL_PMDM_HelloYou: Execution default of goal 
> nl.ing.cis.tools.deploy:deploy-configuration-maven-plugin:5.2.0:flatten 
> failed.: NullPointerException -> [Help 1]
> org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute 
> goal nl.ing.cis.tools.deploy:deploy-configuration-maven-plugin:5.2.0:flatten 
> (default) on project DNL_PMDM_HelloYou: Execution default of goal 
> nl.ing.cis.tools.deploy:deploy-configuration-maven-plugin:5.2.0:flatten 
> failed.
>     at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute 
> (MojoExecutor.java:306)
>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
> (MojoExecutor.java:211)
>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
> (MojoExecutor.java:165)
>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
> (MojoExecutor.java:157)
>     at 
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
> (LifecycleModuleBuilder.java:121)
>     at 
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
> (LifecycleModuleBuilder.java:81)
>     at 
> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
>  (SingleThreadedBuilder.java:56)
>     at org.apache.maven.lifecycle.internal.LifecycleStarter.execute 
> (LifecycleStarter.java:127)
>     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:294)
>     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
>     at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
>     at org.apache.maven.cli.MavenCli.execute (MavenCli.java:960)
>     at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
>     at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
>     at sun.reflect.NativeMethodAccessorImpl.invoke 
> (NativeMethodAccessorImpl.java:62)
>     at sun.reflect.DelegatingMethodAccessorImpl.invoke 
> (DelegatingMethodAccessorImpl.java:43)
>     at java.lang.reflect.Method.invoke (Method.java:498)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced 
> (Launcher.java:282)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.launch 
> (Launcher.java:225)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode 
> (Launcher.java:406)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.main 
> (Launcher.java:347)
> Caused by: org.apache.maven.plugin.PluginExecutionException: Execution 
> default of goal 
> nl.ing.cis.tools.deploy:deploy-configuration-maven-plugin:5.2.0:flatten 
> failed.
>     at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo 
> (DefaultBuildPluginManager.java:148)
>     at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute 
> (MojoExecutor.java:301)
>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
> (MojoExecutor.java:211)
>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
> (MojoExecutor.java:165)
>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
> (MojoExecutor.java:157)
>     at 
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
> (LifecycleModuleBuilder.java:121)
>     at 
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
> (LifecycleModuleBuilder.java:81)
>     at 
> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
>  (SingleThreadedBuilder.java:56)
>     at org.apache.maven.lifecycle.internal.LifecycleStarter.execute 
> (LifecycleStarter.java:127)
>     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:294)
>     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
>     at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
>     at org.apache.maven.cli.MavenCli.execute (MavenCli.java:960)
>     at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
>     at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
>     at sun.reflect.NativeMethodAccessorImpl.invoke 
> (NativeMethodAccessorImpl.java:62)
>     at sun.reflect.DelegatingMethodAccessorImpl.invoke 
> (DelegatingMethodAccessorImpl.java:43)
>     at java.lang.reflect.Method.invoke (Method.java:498)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced 
> (Launcher.java:282)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.launch 
> (Launcher.java:225)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode 
> (Launcher.java:406)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.main 
> (Launcher.java:347)
> Caused by: java.lang.NullPointerException
>     at 
> org.apache.maven.model.interpolation.AbstractStringBasedModelInterpolator.createValueSources
>  (AbstractStringBasedModelInterpolator.java:165)
>     at 
> org.apache.maven.model.interpolation.StringVisitorModelInterpolator.interpolateModel
>  (StringVisitorModelInterpolator.java:101)
>     at 
> nl.ing.cis.tools.tibcodeploy.utils.maven.PropertiesInterpolator.interpolateProperties
>  (PropertiesInterpolator.java:87)
>     at nl.ing.cis.tools.deploy.build.common.AbstractBuilder.replaceProperties 
> (AbstractBuilder.java:236)
>     at 
> nl.ing.cis.tools.deploy.build.common.AbstractBuilder.replacePropertiesInXml 
> (AbstractBuilder.java:261)
>     at 
> nl.ing.cis.tools.deploy.build.flattenedbindings.FlattenedBindingsBuilder.prefetchDtlScmResources
>  (FlattenedBindingsBuilder.java:683)
>     at 
> nl.ing.cis.tools.deploy.build.flattenedbindings.FlattenedBindingsBuilder.build
>  (FlattenedBindingsBuilder.java:91)
>     at nl.ing.cis.tools.deploy.configuration.maven.FlattenMojo.buildBindings 
> (FlattenMojo.java:140)
>     at nl.ing.cis.tools.deploy.configuration.maven.FlattenMojo.doFlatten 
> (FlattenMojo.java:122)
>     at nl.ing.cis.tools.deploy.configuration.maven.FlattenMojo.execute 
> (FlattenMojo.java:101)
>     at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo 
> (DefaultBuildPluginManager.java:137)
>     at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute 
> (MojoExecutor.java:301)
>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
> (MojoExecutor.java:211)
>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
> (MojoExecutor.java:165)
>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
> (MojoExecutor.java:157)
>     at 
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
> (LifecycleModuleBuilder.java:121)
>     at 
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
> (LifecycleModuleBuilder.java:81)
>     at 
> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
>  (SingleThreadedBuilder.java:56)
>     at org.apache.maven.lifecycle.internal.LifecycleStarter.execute 
> (LifecycleStarter.java:127)
>     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:294)
>     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
>     at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
>     at org.apache.maven.cli.MavenCli.execute (MavenCli.java:960)
>     at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
>     at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
>     at sun.reflect.NativeMethodAccessorImpl.invoke 
> (NativeMethodAccessorImpl.java:62)
>     at sun.reflect.DelegatingMethodAccessorImpl.invoke 
> (DelegatingMethodAccessorImpl.java:43)
>     at java.lang.reflect.Method.invoke (Method.java:498)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced 
> (Launcher.java:282)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.launch 
> (Launcher.java:225)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode 
> (Launcher.java:406)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.main 
> (Launcher.java:347) {code}
> When analysing the issue it showed that the NullPointerException is caused 
> because the AbstractStringBasedModelInterpolator tries to use the newly 
> introduced ModelVersionProcessor, but the member is null.
> Programmatically providing the interpolator with an instance of the default 
> ModelVersionProcessor class solves this issue. But that is not backwards 
> compatible as this class is new in Maven 3.8.5.
> {code:java}
> interpolator.setVersionPropertiesProcessor(new 
> DefaultModelVersionProcessor()); {code}
> Is this a bug, or am I doing something wrong here?



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to