简体   繁体   English

启动 Eclipse 时出现 java.lang.NullPointerException

[英]java.lang.NullPointerException when launching Eclipse

I'm using Eclipse Juno and I get this error when I launch it on a certain workspace:我正在使用 Eclipse Juno,当我在某个工作区启动它时出现此错误:

An error has occurred.发生了错误。 See error log for more details.有关详细信息,请参阅错误日志。

java.lang.NullPointerException java.lang.NullPointerException

Other workspaces that are checked out from the same SVN repository work well.从同一个 SVN 存储库检出的其他工作区运行良好。 Does anyone know why this might happen?有谁知道为什么会发生这种情况?

In the workspace log, I get the following exception:在工作区日志中,出现以下异常:

.ENTRY org.eclipse.m2e.logback:appender 4 0 2014-03-11 13:26.25.798 !MESSAGE Could not add repository index .ENTRY org.eclipse.m2e.logback:appender 4 0 2014-03-11 13:26.25.798 !MESSAGE 无法添加存储库索引

.ENTRY org.eclipse.ui:workbench 4 2 2014-03-11 13:26.37:470.MESSAGE Problems occurred when invoking code from plug-in. .ENTRY org.eclipse.ui:workbench 4 2 2014-03-11 13:26.37:470.MESSAGE 从插件调用代码时出现问题。 "org.eclipse.ui.workbench". “org.eclipse.ui.workbench”。 .STACK 0 java.lang.NullPointerException at org.tigris.subversion.subclipse.ui.history:SVNHistoryPage$2.getElements(SVNHistoryPage.java.631) at org.eclipse.jface.viewers:StructuredViewer.getRawChildren(StructuredViewer.java.1010) at org.eclipse.jface.viewers:ColumnViewer.getRawChildren(ColumnViewer.java.703) at org.eclipse.jface.viewers:AbstractTableViewer.getRawChildren(AbstractTableViewer.java.1087) at org.eclipse.jface.viewers:StructuredViewer.getFilteredChildren(StructuredViewer.java.917) at org.eclipse.jface.viewers:StructuredViewer.getSortedChildren(StructuredViewer.java.1067) at org.eclipse.jface.viewers:AbstractTableViewer.internalRefreshAll(AbstractTableViewer.java.701) at org.eclipse.jface.viewers:AbstractTableViewer.internalRefresh(AbstractTableViewer.java.649) at org.eclipse.jface.viewers:AbstractTableViewer.internalRefresh(Abstrac .STACK 0 java.lang.NullPointerException at org.tigris.subversion.subclipse.ui.history:SVNHistoryPage$2.getElements(SVNHistoryPage.java.631) at org.eclipse.jface.viewers:StructuredViewer.getRawChildren(StructuredViewer.java.1010) at org. eclipse.jface.viewers:ColumnViewer.getRawChildren(ColumnViewer.java.703) at org.eclipse.jface.viewers:AbstractTableViewer.getRawChildren(AbstractTableViewer.java.1087) at org.eclipse.jface.viewers:StructuredViewer.getFilteredChildren(StructuredViewer.java.917) at org .eclipse.jface.viewers:StructuredViewer.getSortedChildren(StructuredViewer.java.1067) at org.eclipse.jface.viewers:AbstractTableViewer.internalRefreshAll(AbstractTableViewer.java.701) at org.eclipse.jface.viewers:AbstractTableViewer.internalRefresh(AbstractTableViewer.java.649) at org.eclipse.jface.viewers:AbstractTableViewer.internalRefresh(Abstrac tTableViewer.java.636) at org.eclipse.jface.viewers:AbstractTableViewer$2.run(AbstractTableViewer.java.592) org.eclipse.core.runtime.internal.adaptor:EclipseAppLauncher.runApplication(EclipseAppLauncher.java.110) at org.eclipse.core.runtime.internal.adaptor:EclipseAppLauncher.start(EclipseAppLauncher.java.79) at org.eclipse.core.runtime.adaptor:EclipseStarter.run(EclipseStarter.java.353) at org.eclipse.core.runtime.adaptor:EclipseStarter.run(EclipseStarter.java.180) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect:NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java.39) at sun.reflect:DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java.25) at java.lang.reflect:Method.invoke(Method.java.597) at org.eclipse.equinox.launcher:Main.invokeFramework(Main.java.629) at org.eclipse.eq tTableViewer.java.636) at org.eclipse.jface.viewers:AbstractTableViewer$2.run(AbstractTableViewer.java.592) org.eclipse.core.runtime.internal.adaptor:EclipseAppLauncher.runApplication(EclipseAppLauncher.java.110) at org.eclipse.core.runtime .internal.adaptor:EclipseAppLauncher.start(EclipseAppLauncher.java.79) at org.eclipse.core.runtime.adaptor:EclipseStarter.run(EclipseStarter.java.353) at org.eclipse.core.runtime.adaptor:EclipseStarter.run(EclipseStarter.java.180 ) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect:NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java.39) at sun.reflect:DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java.25) at java.lang.reflect:Method.invoke( Method.java.597) 在 org.eclipse.equinox.launcher:Main.invokeFramework(Main.java.629) 在 org.eclipse.eq uinox.launcher:Main.basicRun(Main.java.584) at org.eclipse.equinox.launcher:Main.run(Main.java.1438) at org.eclipse.equinox.launcher:Main.main(Main.java:1414) uinox.launcher:Main.basicRun(Main.java.584) 在 org.eclipse.equinox.launcher:Main.run(Main.java.1438) 在 org.eclipse.equinox.launcher:Main14.jainva):1

解决:清理我的.metadata文件夹并在eclipse中重新导入项目

For me, the below steps works. 对我来说,以下步骤有效。

Right click on project > Select Run As > Run Configurations Click on Select Other link next to Using VisualVM Launcher Select Eclipse EDT launcher Click ok 右键单击项目>选择运行方式>运行配置单击使用VisualVM Launcher旁边的选择其他链接选择Eclipse EDT启动器单击确定

If you are installed Hiber object in your eclipse and when you are creating a new project as like vaadin 8 project then showing that notification. 如果您在Eclipse中安装了Hiber对象,并且在创建新项目时就像vaadin 8项目那样显示该通知。 go to your eclipse market place search hiber object and expand the update/installed button then click uninstall and follow that instruction. 转到你的eclipse市场搜索hiber对象并展开更新/安装按钮然后单击卸载并按照该指令操作。

For me I changed the system variable "java_home" to work with other software and that caused eclipse to show that error.对我来说,我更改了系统变量“java_home”以与其他软件一起使用,这导致 eclipse 显示该错误。 after changing it back to the original directory I was able to launch eclipse without any issues.将其更改回原始目录后,我能够毫无问题地启动 eclipse。

so for those who don't want to take risk losing something I would recommend checking if the "java_home" variable didn't change or even got deleted.所以对于那些不想冒险丢失东西的人,我建议检查“java_home”变量是否没有改变甚至被删除。

simply do the following:只需执行以下操作:

  • click on the window logo or search bar if it is enabled.如果已启用,请单击 window 徽标或搜索栏。
  • write "variable" .“变量”
  • you see "Edit the system environment variables" .您会看到“编辑系统环境变量”
  • click on "system variables" and if you don't see it check if you are in "advanced" tab.单击“系统变量” ,如果您没有看到它,请检查您是否在“高级”选项卡中。
  • you can see two spaces "user variables" and "system variables" check if you can see "java_home" or "JAVA_HOME" .你可以看到两个空格 "user variables" 和 "system variables" 检查你是否可以看到"java_home""JAVA_HOME"
  • if you don't then just add it and if you do see it check the value if it points to the right directory of your JDK .如果您不这样做,则只需添加它,如果您确实看到它,请检查该值是否指向您的JDK的正确目录。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM