• 关于Eclipse导入maven项目报空指针异常


    今天新建了一个maven项目,因为是通过公司的工具新建的,代码拉下来就有src、pom.xml文件。

    导入Eclipse却报空指针异常。具体如下:

    An error has occurred. See error log for more details.
    java.lang.NullPointerException

    一时没看明白是为什么,搜了一下Eclipse的日志文件。

    日志在workSpace的.metadata里的.log文件。

    点开查看,如下:

    !SESSION 2019-09-16 14:31:23.461 -----------------------------------------------

    eclipse.buildId=4.7.3.M20180330-0640

    java.version=1.8.0_144

    java.vendor=Oracle Corporation

    BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=zh_CN

    Framework arguments:  -product org.eclipse.epp.package.jee.product

    Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product

    !ENTRY org.eclipse.egit.ui 2 0 2019-09-16 14:31:42.700

    !MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git

    user global configuration and to define the default location to store repositories: 'C:Usersflyin'. If this is

    not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and

    EGit might behave differently since they see different configuration options.

    This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.

    !ENTRY org.eclipse.epp.logging.aeri.ide 2 17 2019-09-16 14:31:53.542

    !MESSAGE Server ‘org.eclipse.epp.logging.aeri.ide.server’ failed with exception: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $. ; version: 2.0.7.v20170906-1327

    !STACK 0

    com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $

    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:224)

    at com.google.gson.Gson.fromJson(Gson.java:887)

    at com.google.gson.Gson.fromJson(Gson.java:852)

    at com.google.gson.Gson.fromJson(Gson.java:801)

    at org.eclipse.epp.internal.logging.aeri.ide.server.json.Json.deserialize(Json.java:91)

    at org.eclipse.epp.internal.logging.aeri.ide.server.mars.IO.refreshConfiguration(IO.java:66)

    at org.eclipse.epp.internal.logging.aeri.ide.server.mars.ServerConnection.startUp(ServerConnection.java:124)

    at com.google.common.util.concurrent.AbstractIdleService$DelegateService$1.run(AbstractIdleService.java:62)

    at com.google.common.util.concurrent.Callables$4.run(Callables.java:122)

    at java.lang.Thread.run(Thread.java:748)

    Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $

    at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385)

    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:213)

    ... 9 more

    !ENTRY org.eclipse.jface 4 2 2019-09-16 14:33:23.521

    !MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jface".

    !STACK 0

    java.lang.NullPointerException

    at org.eclipse.m2e.core.project.ProjectImportConfiguration.cleanProjectNameComponent(ProjectImportConfiguration.java:109)

    at org.eclipse.m2e.core.project.ProjectImportConfiguration.getProjectName(ProjectImportConfiguration.java:83)

    at org.eclipse.m2e.core.ui.internal.wizards.MavenImportWizardPage.isAlreadyExists(MavenImportWizardPage.java:615)

    at org.eclipse.m2e.core.ui.internal.wizards.MavenImportWizardPage$ProjectLabelProvider.getForeground(MavenImportWizardPage.java:812)

    at org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider.getForeground(DelegatingStyledCellLabelProvider.java:140)

    at org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider.update(DelegatingStyledCellLabelProvider.java:123)

    at org.eclipse.jface.viewers.ViewerColumn.refresh(ViewerColumn.java:141)

    at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:946)

    at org.eclipse.jface.viewers.CheckboxTreeViewer.doUpdateItem(CheckboxTreeViewer.java:120)

    at org.eclipse.jface.viewers.AbstractTreeViewer$UpdateItemSafeRunnable.run(AbstractTreeViewer.java:117)

    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)

    at org.eclipse.ui.internal.JFaceUtil.lambda$0(JFaceUtil.java:44)

    at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:173)

    at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:1025)

    at org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRunnable.run(StructuredViewer.java:475)

    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)

    at org.eclipse.ui.internal.JFaceUtil.lambda$0(JFaceUtil.java:44)

    at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:173)

    at org.eclipse.jface.viewers.StructuredViewer.updateItem(StructuredViewer.java:2159)

    at org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem(AbstractTreeViewer.java:840)

    at org.eclipse.jface.viewers.AbstractTreeViewer.lambda$0(AbstractTreeViewer.java:817)

    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)

    at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:792)

    at org.eclipse.jface.viewers.TreeViewer.createChildren(TreeViewer.java:595)

    at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:763)

    at org.eclipse.jface.viewers.AbstractTreeViewer.internalInitializeTree(AbstractTreeViewer.java:1527)

    at org.eclipse.jface.viewers.TreeViewer.internalInitializeTree(TreeViewer.java:771)

    at org.eclipse.jface.viewers.AbstractTreeViewer.lambda$1(AbstractTreeViewer.java:1512)

    at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1447)

    at org.eclipse.jface.viewers.TreeViewer.preservingSelection(TreeViewer.java:354)

    at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1408)

    at org.eclipse.jface.viewers.CheckboxTreeViewer.preservingSelection(CheckboxTreeViewer.java:403)

    at org.eclipse.jface.viewers.AbstractTreeViewer.inputChanged(AbstractTreeViewer.java:1506)

    at org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:286)

    at org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.java:1685)

    at org.eclipse.m2e.core.ui.internal.wizards.MavenImportWizardPage.scanProjects(MavenImportWizardPage.java:465)

    at org.eclipse.m2e.core.ui.internal.wizards.MavenImportWizardPage$1.widgetSelected(MavenImportWizardPage.java:183)

    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:249)

    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)

    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4428)

    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1079)

    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4238)

    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3817)

    at org.eclipse.jface.window.Window.runEventLoop(Window.java:818)

    at org.eclipse.jface.window.Window.open(Window.java:794)

    at org.eclipse.ui.internal.handlers.WizardHandler$Import.executeHandler(WizardHandler.java:158)

    at org.eclipse.ui.internal.handlers.WizardHandler.execute(WizardHandler.java:290)

    at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:291)

    at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:92)

    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.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55)

    at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:305)

    at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:239)

    at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)

    at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:152)

    at org.eclipse.core.commands.Command.executeWithChecks(Command.java:494)

    at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:487)

    at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:210)

    at org.eclipse.ui.internal.handlers.LegacyHandlerService.executeCommand(LegacyHandlerService.java:390)

    at org.eclipse.ui.internal.actions.CommandAction.runWithEvent(CommandAction.java:151)

    at org.eclipse.ui.internal.actions.CommandAction.run(CommandAction.java:161)

    at org.eclipse.ui.actions.ImportResourcesAction.run(ImportResourcesAction.java:99)

    at org.eclipse.ui.actions.BaseSelectionListenerAction.runWithEvent(BaseSelectionListenerAction.java:167)

    at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:565)

    at org.eclipse.jface.action.ActionContributionItem.lambda$4(ActionContributionItem.java:397)

    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)

    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4428)

    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1079)

    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4238)

    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3817)

    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1150)

    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)

    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1039)

    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)

    at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:680)

    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)

    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:594)

    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)

    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:151)

    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)

    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)

    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)

    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)

    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)

    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.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653)

    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)

    at org.eclipse.equinox.launcher.Main.run(Main.java:1499)

    !ENTRY org.eclipse.ui 4 0 2019-09-16 14:33:23.656

    !MESSAGE Unhandled event loop exception

    !STACK 0

    java.lang.NullPointerException

    at org.eclipse.m2e.core.project.ProjectImportConfiguration.cleanProjectNameComponent(ProjectImportConfiguration.java:109)

    at org.eclipse.m2e.core.project.ProjectImportConfiguration.getProjectName(ProjectImportConfiguration.java:83)

    at org.eclipse.m2e.core.ui.internal.wizards.MavenImportWizardPage.isAlreadyExists(MavenImportWizardPage.java:615)

    at org.eclipse.m2e.core.ui.internal.wizards.MavenImportWizardPage.updateCheckedState(MavenImportWizardPage.java:592)

    at org.eclipse.m2e.core.ui.internal.wizards.MavenImportWizardPage.setAllChecked(MavenImportWizardPage.java:582)

    at org.eclipse.m2e.core.ui.internal.wizards.MavenImportWizardPage.scanProjects(MavenImportWizardPage.java:468)

    at org.eclipse.m2e.core.ui.internal.wizards.MavenImportWizardPage$1.widgetSelected(MavenImportWizardPage.java:183)

    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:249)

    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)

    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4428)

    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1079)

    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4238)

    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3817)

    at org.eclipse.jface.window.Window.runEventLoop(Window.java:818)

    at org.eclipse.jface.window.Window.open(Window.java:794)

    at org.eclipse.ui.internal.handlers.WizardHandler$Import.executeHandler(WizardHandler.java:158)

    at org.eclipse.ui.internal.handlers.WizardHandler.execute(WizardHandler.java:290)

    at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:291)

    at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:92)

    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.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55)

    at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:305)

    at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:239)

    at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)

    at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:152)

    at org.eclipse.core.commands.Command.executeWithChecks(Command.java:494)

    at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:487)

    at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:210)

    at org.eclipse.ui.internal.handlers.LegacyHandlerService.executeCommand(LegacyHandlerService.java:390)

    at org.eclipse.ui.internal.actions.CommandAction.runWithEvent(CommandAction.java:151)

    at org.eclipse.ui.internal.actions.CommandAction.run(CommandAction.java:161)

    at org.eclipse.ui.actions.ImportResourcesAction.run(ImportResourcesAction.java:99)

    at org.eclipse.ui.actions.BaseSelectionListenerAction.runWithEvent(BaseSelectionListenerAction.java:167)

    at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:565)

    at org.eclipse.jface.action.ActionContributionItem.lambda$4(ActionContributionItem.java:397)

    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)

    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4428)

    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1079)

    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4238)

    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3817)

    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1150)

    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)

    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1039)

    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)

    at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:680)

    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)

    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:594)

    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)

    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:151)

    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)

    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)

    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)

    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)

    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)

    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.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653)

    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)

    at org.eclipse.equinox.launcher.Main.run(Main.java:1499)

    !ENTRY org.eclipse.m2e.logback.appender 2 0 2019-09-16 14:38:53.596

    !MESSAGE Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!

    !ENTRY org.eclipse.m2e.logback.appender 2 0 2019-09-16 14:38:53.680

    !MESSAGE Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!

    搜了一圈,说是Eclipse的插件问题导致的,可以把“.metadata”这个文件夹删掉,代价是项目需要重新导入。

    我删了,依然不行。

    另外,不仅项目项目需要重新导入,Eclipse配置也全部还原了。

    无计可施的时候,我对比了一下之前的文件,发现pom.xml里少配了一些东西。

    <project xmlns="http://maven.apache.org/POM/4.0.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        
    
      <properties>
    ……

    正常的项目这部分是下面这样的:

    <project xmlns="http://maven.apache.org/POM/4.0.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>com.shuimutong</groupId>
        <artifactId>testw</artifactId>
        <packaging>war</packaging>
        <version>0.0.1-SNAPSHOT</version>
        <name>testwMavenWebapp</name>
        <url>http://maven.apache.org</url>
    
      <properties>
    ……

    把配置补全,导入成功!

  • 相关阅读:
    配置DNS域名解析服务器
    使用buildroot编译bind DNS服务器
    java值得注意的几个问题
    访问权限
    import static与import的区别
    八大排序算法
    移植DNS服务bind
    Sql存储过程中延迟执行
    【转】ado实体数据模型增删改查基本用法
    JS 拖动事件
  • 原文地址:https://www.cnblogs.com/shuimutong/p/11529385.html
Copyright © 2020-2023  润新知