mvn idea:idea 抛出 NullPointerException
mvn idea:idea throws a NullPointerException
当我试图在我的项目中执行 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
这里的 link 是 -
This error is reported in case the execution of a plugin failed due to
some unforeseen event. For example, uncatched runtime exceptions
caused by the plugin will raise this error. You should report this
problem to the maintainer of the plugin.
也不确定维护者,在这里寻求一些帮助。
更新 1
按照@A_Di-Matteo在回答中提到的步骤,我可以找出失败发生在步骤
mvn idea:module
对我来说有类似的堆栈跟踪
[ERROR] Failed to execute goal
org.apache.maven.plugins:maven-idea-plugin:2.2.1:module (default-cli)
on project core: Execution default-cli of goal
org.apache.maven.plugins:maven-idea-plugin:2.2.1:module failed.
NullPointerException
说到重点,有什么办法可以解决吗?
maven-idea-plugin
已 停用 并且自 2013 年以来不再维护(实际上自 2008 年以来已停用),因此可能与 [=38= 的新版本不兼容] 会阻止它的使用。
如果出于任何原因您仍然通过 idea:idea
目标寻求帮助,但遇到错误,您可以尝试不同的 procedure:
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)
最后三个命令实际上已经由idea:idea
自动执行,但它们可以帮助您进一步检查错误发生的位置,并希望进一步提示以进行故障排除。然而,所有这些文件都被 IDE 视为 legacy files,因此这再次不是理想的过程。
然而,同样,这可能会很麻烦:该插件很可能不再与更新版本的 IDE 兼容。
如果直接导入父 pom.xml
文件不导入项目,则:
- 您可以将项目作为通用 Java 项目导入,然后 convert it to Maven project
- 或者(作为最坏的情况)您可以在 IDE 中创建一个新的 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
这里的 link 是 -
This error is reported in case the execution of a plugin failed due to some unforeseen event. For example, uncatched runtime exceptions caused by the plugin will raise this error. You should report this problem to the maintainer of the plugin.
也不确定维护者,在这里寻求一些帮助。
更新 1 按照@A_Di-Matteo在回答中提到的步骤,我可以找出失败发生在步骤
mvn idea:module
对我来说有类似的堆栈跟踪
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-idea-plugin:2.2.1:module (default-cli) on project core: Execution default-cli of goal org.apache.maven.plugins:maven-idea-plugin:2.2.1:module failed. NullPointerException
说到重点,有什么办法可以解决吗?
maven-idea-plugin
已 停用 并且自 2013 年以来不再维护(实际上自 2008 年以来已停用),因此可能与 [=38= 的新版本不兼容] 会阻止它的使用。
如果出于任何原因您仍然通过 idea:idea
目标寻求帮助,但遇到错误,您可以尝试不同的 procedure:
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)
最后三个命令实际上已经由idea:idea
自动执行,但它们可以帮助您进一步检查错误发生的位置,并希望进一步提示以进行故障排除。然而,所有这些文件都被 IDE 视为 legacy files,因此这再次不是理想的过程。
然而,同样,这可能会很麻烦:该插件很可能不再与更新版本的 IDE 兼容。
如果直接导入父 pom.xml
文件不导入项目,则:
- 您可以将项目作为通用 Java 项目导入,然后 convert it to Maven project
- 或者(作为最坏的情况)您可以在 IDE 中创建一个新的 Maven 项目并逐步(复制和粘贴)重新创建无法导入的项目:很可能会出现一些问题作为问题,或者它会按预期工作。