mvn idea:idea抛出NullPointerException

Nam*_*man 4 intellij-idea nullpointerexception maven-3 maven

我正在尝试mvn idea:idea -X在我的项目中执行.我面临着一个特殊的问题 -

> [ERROR] Failed to execute goal
> org.apache.maven.plugins:maven-idea-plugin:2.2.1:idea (default-cli) on
> project test-model: Execution default-cli of goal
> org.apache.maven.plugins:maven-idea-plugin:2.2.1:idea failed.
> NullPointerException -> [Help 1]
> org.apache.maven.lifecycle.LifecycleExecutionException: Failed to
> execute goal org.apache.maven.plugins:maven-idea-plugin:2.2.1:idea
> (default-cli) on project document-model: Execution default-cli of goal
> org.apache.maven.plugins:maven-idea-plugin:2.2.1:idea failed.
>         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:497)
>         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.PluginExecutionException: Execution
> default-cli of goal
> org.apache.maven.plugins:maven-idea-plugin:2.2.1:idea failed.
>         at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:145)
>         at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
>         ... 20 more Caused by: java.lang.NullPointerException
>         at org.apache.maven.repository.legacy.DefaultWagonManager.connectWagon(DefaultWagonManager.java:244)
>         at org.apache.maven.repository.legacy.DefaultWagonManager.getRemoteFile(DefaultWagonManager.java:346)
>         at org.apache.maven.repository.legacy.DefaultWagonManager.getArtifact(DefaultWagonManager.java:110)
>         at org.apache.maven.repository.legacy.DefaultWagonManager.getArtifact(DefaultWagonManager.java:163)
>         at org.apache.maven.artifact.manager.DefaultWagonManager.getArtifact(DefaultWagonManager.java:155)
>         at org.apache.maven.plugin.idea.IdeaModuleMojo.resolveClassifiedArtifact(IdeaModuleMojo.java:966)
>         at org.apache.maven.plugin.idea.IdeaModuleMojo.resolveClassifier(IdeaModuleMojo.java:929)
>         at org.apache.maven.plugin.idea.IdeaModuleMojo.rewriteDependencies(IdeaModuleMojo.java:587)
>         at org.apache.maven.plugin.idea.IdeaModuleMojo.rewriteModule(IdeaModuleMojo.java:409)
>         at org.apache.maven.plugin.idea.IdeaMojo.rewriteModule(IdeaMojo.java:220)
>         at org.apache.maven.plugin.idea.IdeaMojo.execute(IdeaMojo.java:200)
>         at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
>         ... 21 more [ERROR]  [ERROR]  [ERROR] For more information about the errors and possible solutions, please read the following
> articles: [ERROR] [Help 1]
> http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException
Run Code Online (Sandbox Code Playgroud)

这里的链接是 -

如果由于某些无法预料的事件而导致插件执行失败,则会报告此错误.例如,插件引起的未捕获的运行时异常将引发此错误.您应该将此问题报告给插件的维护者.

也不确定维护者,在SO上寻求一些帮助.


更新1 按照@ A_Di-Matteo在答案中提到的步骤,我可以看出故障发生在该步骤

mvn idea:module
Run Code Online (Sandbox Code Playgroud)

对我来说有类似的堆栈跟踪

[错误]无法执行目标org.apache.maven.plugins:maven-idea-plugin:2.2.1:项目核心上的模块(default-cli):目标的执行default-cli org.apache.maven.plugins:maven -idea-plugin:2.2.1:模块失败.空指针异常

重申这一点,有没有办法解决它?

A_D*_*teo 7

自2013年以来,maven-idea-plugin已经退役并且不再维护(自2008年以来实际上不活动),因此任何可能与IDE的新版本不兼容都会阻止其使用.

如果由于任何原因你仍然寻求idea:idea目标的帮助,得到错误,你可以尝试不同的程序:

mvn idea:clean
mvn idea:project    ---> it will create the .ipr file (core project info)
mvn idea:module     ---> it will create the .iml file (library info for the module)
mvn idea:workspace  ---> it will create the .iws file (personal workspace info)
Run Code Online (Sandbox Code Playgroud)

最后三个命令实际上已经自动执行idea:idea,但它们可以帮助您进一步检查错误发生的位置,并希望进一步提示进行故障排除.但是,所有这些文件都被IDE 视为遗留文件,因此这不再是理想的过程.

然而,再次,这可能是麻烦的:插件很可能不再兼容较新版本的IDE.

如果直接导入父pom.xml文件不导入项目,则:

  • 您可以将项目作为通用Java项目导入,然后将其转换为Maven项目
  • 或者(作为最坏的情况)你可以在IDE中创建一个新的Maven项目并逐步(复制和粘贴)重新创建一个无法导入的项目:很可能会出现问题,或者它只是作为预期.