[ https://jira.codehaus.org/browse/MECLIPSE-738?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andreas Gudian updated MECLIPSE-738: ------------------------------------ Fix Version/s: 2.10 > NullPointerException in LinkedResource if <locationURI> is present in .project > ------------------------------------------------------------------------------ > > Key: MECLIPSE-738 > URL: https://jira.codehaus.org/browse/MECLIPSE-738 > Project: Maven Eclipse Plugin > Issue Type: Bug > Affects Versions: 2.9 > Reporter: Martin Böhm > Assignee: Andreas Gudian > Priority: Trivial > Fix For: 2.10 > > Attachments: linkedResourceProblem.zip, > MECLIPSE-738-LinkedResource.java.patch > > > I get a reproducable NullPointerException if I call eclipse:eclipse on a > project that always has a .project-file that contains links with > <locationURI>-Tags. > {code} > [ERROR] Failed to execute goal > org.apache.maven.plugins:maven-eclipse-plugin:2.9:eclipse (default-cli) on > project linkedResourceProblem: Execution def > ault-cli of goal org.apache.maven.plugins:maven-eclipse-plugin:2.9:eclipse > failed. NullPointerException -> [Help 1] > org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute > goal org.apache.maven.plugins:maven-eclipse-plugin:2.9:eclipse (default-cli) > on project linkedResourceProblem: Execution default-cli of goal > org.apache.maven.plugins:maven-eclipse-plugin:2.9:eclipse failed. > at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:225) > 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:84) > at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) > at > org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) > at > org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) > at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320) > at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) > at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) > at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) > at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:601) > at > org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) > at > org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) > at > org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) > at > org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) > Caused by: org.apache.maven.plugin.PluginExecutionException: Execution > default-cli of goal org.apache.maven.plugins:maven-eclipse-plugin:2.9:eclipse > f > ailed. > at > org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:110) > at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) > ... 19 more > Caused by: java.lang.NullPointerException > at > org.apache.maven.plugin.eclipse.LinkedResource.<init>(LinkedResource.java:131) > at > org.apache.maven.plugin.eclipse.writers.EclipseProjectWriter.write(EclipseProjectWriter.java:154) > at > org.apache.maven.plugin.eclipse.EclipsePlugin.writeConfiguration(EclipsePlugin.java:1232) > at > org.apache.maven.plugin.ide.AbstractIdeSupportMojo.execute(AbstractIdeSupportMojo.java:511) > at > org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) > ... 20 more > {code} > If I change the present <locationURI> to <location> in .project and call > eclipse:eclipse I won't get the error. Also if I call eclipse:clean before > calling eclipse:eclipse the .project file of course gets cleaned and will be > created new, so temporary links get lost unfortunately. > I suppose it has to do with the following lines in > org.apache.maven.plugin.eclipse.LinkedResource and how the locationNode is > retrieved. > {code} > 119 Xpp3Dom locationNode = node.getChild( "location" ); > 120 Xpp3Dom locationURINode = node.getChild( "locationURI" ); > {code} > Possible workarounds: > - Call eclipse:clean before and recreate temporary links again. > - Replace all <locationURI> with <location> before calling eclipse:eclipse to > preserve temporary links. -- This message was sent by Atlassian JIRA (v6.1.6#6162)