将Maven项目导入Eclipse时出现错误

3

NullPointerException

java.lang.NullPointerException
        at org.eclipse.m2e.jdt.internal.AbstractJavaProjectConfigurator.isContained(AbstractJavaProjectConfigurator.java:470)
        at org.eclipse.m2e.jdt.internal.AbstractJavaProjectConfigurator.isNonOverlappingResourceDescriptor(AbstractJavaProjectConfigurator.java:461)
        at org.eclipse.m2e.jdt.internal.AbstractJavaProjectConfigurator.addResourceDirs(AbstractJavaProjectConfigurator.java:422)
        at org.eclipse.m2e.jdt.internal.AbstractJavaProjectConfigurator.addProjectSourceFolders(AbstractJavaProjectConfigurator.java:299)
        at org.eclipse.m2e.jdt.internal.AbstractJavaProjectConfigurator.configure(AbstractJavaProjectConfigurator.java:122)
        at org.eclipse.m2e.core.project.configurator.AbstractLifecycleMapping.configure(AbstractLifecycleMapping.java:120)
        at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$3.call(ProjectConfigurationManager.java:501)
        at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$3.call(ProjectConfigurationManager.java:1)
        at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:176)
        at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151)
        at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration(ProjectConfigurationManager.java:494)
        at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.configureNewMavenProjects(ProjectConfigurationManager.java:281)
        at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$1.call(ProjectConfigurationManager.java:168)
        at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$1.call(ProjectConfigurationManager.java:1)
        at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:176)
        at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151)
        at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99)
        at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1355)
        at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.importProjects(ProjectConfigurationManager.java:136)
        at org.eclipse.m2e.core.ui.internal.wizards.ImportMavenProjectsJob$1.doCreateMavenProjects(ImportMavenProjectsJob.java:68)
        at org.eclipse.m2e.core.ui.internal.wizards.AbstractCreateMavenProjectsOperation.run(AbstractCreateMavenProjectsOperation.java:62)
        at org.eclipse.m2e.core.ui.internal.wizards.ImportMavenProjectsJob.runInWorkspace(ImportMavenProjectsJob.java:77)
        at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

我尝试了mvn eclipse:eclipse命令,然后在Eclipse中导入(导入现有的maven项目),但仍然抛出NullPointerException异常。
谢谢。

@TimBiegeleisen 这个问题与您提到的那个完全不同,您的完整堆栈跟踪在哪里?能否请您进一步澄清? - hdang
2个回答

4

这似乎是m2e的一个bug。你的项目可能包含对外部资源的引用。在我的情况下,它是父级项目中的资源:

  <resource>
    <directory>..</directory>
    <includes>
      <include>LICENSE</include>
      <include>NOTICE</include>
    </includes>
  </resource>

将目录规范从“..”更改为“${project.parent.basedir}”后,我摆脱了异常。


似乎m2e知道这个属性,但Maven本身不知道:[INFO] skip non existing resourceDirectory C:\mypath\${project.parent.basedir}\folder - Nikita Bosik

1

或者从http://download.eclipse.org/technology/m2e/milestones/1.7/使用m2e 1.7。 - michaldo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接