You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Klemen (JIRA)" <ji...@apache.org> on 2017/09/01 16:48:00 UTC

[jira] [Created] (ARCHETYPE-531) NullPointerException when module not specified or config empty in EAR plugin

Klemen created ARCHETYPE-531:
--------------------------------

             Summary: NullPointerException when module not specified or config empty in EAR plugin
                 Key: ARCHETYPE-531
                 URL: https://issues.apache.org/jira/browse/ARCHETYPE-531
             Project: Maven Archetype
          Issue Type: Bug
          Components: Creator
    Affects Versions: 3.0.1
            Reporter: Klemen


Missing <modules> tag in ear config causes null pointer. pom sample:

{code:java}
<build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-ear-plugin</artifactId>
                    <version>${ear.plugin}</version>
                    <configuration>
                        <version>7</version>
                        <fileNameMapping>no-version</fileNameMapping>
                    </configuration>
                </plugin>
...
{code}
Stacktrace after adding e.printStackTrace(); to FilesetArchetypeCreator, line 303:
{code:java}
java.lang.NullPointerException
	at org.apache.maven.archetype.creator.FilesetArchetypeCreator.rewriteEARPluginReferences(FilesetArchetypeCreator.java:721)
	at org.apache.maven.archetype.creator.FilesetArchetypeCreator.rewritePluginReferences(FilesetArchetypeCreator.java:712)
	at org.apache.maven.archetype.creator.FilesetArchetypeCreator.rewriteReferences(FilesetArchetypeCreator.java:619)
	at org.apache.maven.archetype.creator.FilesetArchetypeCreator.createArchetypePom(FilesetArchetypeCreator.java:908)
	at org.apache.maven.archetype.creator.FilesetArchetypeCreator.createPoms(FilesetArchetypeCreator.java:573)
	at org.apache.maven.archetype.creator.FilesetArchetypeCreator.createArchetype(FilesetArchetypeCreator.java:241)
	at org.apache.maven.archetype.DefaultArchetypeManager.createArchetypeFromProject(DefaultArchetypeManager.java:64)
	at org.apache.maven.archetype.mojos.CreateArchetypeFromProjectMojo.execute(CreateArchetypeFromProjectMojo.java:257)
	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
	at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
	at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
	at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
	at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
	at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
	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:289)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
	at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
	at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)

{code}

In same file on line 303, I believe catching any Exception and rethrowing a MojoFailureException is not really helpful to anyone since it hides the actual cause and you have to dig deep into the code to find it. At least it should be made more verbose. This is what is being thrown:

{code:java}
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-archetype-plugin:3.0.1:create-from-project (default-cli) on project myproject-was: null
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
	at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
	at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
	at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
	at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
	at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
	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:289)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
	at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
	at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.MojoFailureException
	at org.apache.maven.archetype.mojos.CreateArchetypeFromProjectMojo.execute(CreateArchetypeFromProjectMojo.java:262)
	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
	... 20 more
{code}

Similar reference form 2 years ago:
https://myshittycode.com/2015/08/05/maven-archetype-plugin-failed-to-execute-goal-org-apache-maven-pluginsmaven-archetype-plugin2-3create-from-project/





--
This message was sent by Atlassian JIRA
(v6.4.14#64029)