问题描述
我正在尝试卸载NetBeans 12.0,但是向导在启动时会引发以下异常:
Exception: java.lang.NullPointerException: null
日志说:
[2020-08-11 14:03:20.249]: initializing product registry properties
[2020-08-11 14:03:20.249]: exiting -- org.netbeans.installer.product.Registry.initializeRegistry():170
[2020-08-11 14:03:20.253]: ... loading registry from file:/C:/Users/Kai/.nbi/registry.xml
[2020-08-11 14:03:20.311]: entering -- org.netbeans.installer.product.Registry.loadProductRegistry():981
[2020-08-11 14:03:20.312]: validating prevIoUs installations
[2020-08-11 14:03:20.378]: NameResolver - to parse C:\Program Files\NetBeans 8.2
[2020-08-11 14:03:20.392]: NameResolver - to parse C:\Program Files\NetBeans-12.0
[2020-08-11 14:03:20.396]: NameResolver - to parse C:\Program Files\NetBeans-12.0
[2020-08-11 14:03:20.404]: NameResolver - to parse C:\Program Files\NetBeans 8.2\bin\jre
[2020-08-11 14:03:20.407]: NameResolver - to parse C:\Program Files\NetBeans-12.0
[2020-08-11 14:03:20.410]: NameResolver - to parse C:\Program Files\NetBeans-12.0
[2020-08-11 14:03:20.414]: NameResolver - to parse C:\Program Files\NetBeans-12.0
[2020-08-11 14:03:20.417]: NameResolver - to parse C:\Program Files\NetBeans-12.0
[2020-08-11 14:03:20.424]: NameResolver - to parse C:\Program Files\NetBeans 8.2
[2020-08-11 14:03:20.425]: ... validating installations finished
[2020-08-11 14:03:20.425]: exiting -- org.netbeans.installer.product.Registry.loadProductRegistry():981
[2020-08-11 14:03:20.425]: ... loading registry from resource:data/registry.xml
[2020-08-11 14:03:20.434]: entering -- org.netbeans.installer.product.Registry.loadProductRegistry():981
[2020-08-11 14:03:20.434]: validating prevIoUs installations
[2020-08-11 14:03:20.434]: NameResolver - to parse C:\Program Files\NetBeans 8.2
[2020-08-11 14:03:20.435]: NameResolver - to parse C:\Program Files\NetBeans-12.0
[2020-08-11 14:03:20.437]: NameResolver - to parse C:\Program Files\NetBeans-12.0
[2020-08-11 14:03:20.437]: NameResolver - to parse C:\Program Files\NetBeans 8.2\bin\jre
[2020-08-11 14:03:20.438]: NameResolver - to parse C:\Program Files\NetBeans-12.0
[2020-08-11 14:03:20.439]: NameResolver - to parse C:\Program Files\NetBeans-12.0
[2020-08-11 14:03:20.440]: NameResolver - to parse C:\Program Files\NetBeans-12.0
[2020-08-11 14:03:20.441]: NameResolver - to parse C:\Program Files\NetBeans-12.0
[2020-08-11 14:03:20.442]: NameResolver - to parse C:\Program Files\NetBeans 8.2
[2020-08-11 14:03:20.443]: ... validating installations finished
[2020-08-11 14:03:20.443]: exiting -- org.netbeans.installer.product.Registry.loadProductRegistry():981
[2020-08-11 14:03:20.447]: An unexpected exception happened in thread Thread-2
[2020-08-11 14:03:20.448]: java.lang.NullPointerException
[2020-08-11 14:03:20.448]: at org.netbeans.installer.utils.helper.Version.equals(Version.java:69)
[2020-08-11 14:03:20.448]: at org.netbeans.installer.product.Registry.changeStatuses(Registry.java:600)
[2020-08-11 14:03:20.448]: at org.netbeans.installer.product.Registry.initializeRegistry(Registry.java:184)
[2020-08-11 14:03:20.448]: at org.netbeans.installer.wizard.components.actions.InitializeRegistryAction.execute(InitializeRegistryAction.java:53)
[2020-08-11 14:03:20.448]: at org.netbeans.installer.wizard.components.actions.netbeans.NbInitializationAction.execute(NbInitializationAction.java:69)
[2020-08-11 14:03:20.448]: at org.netbeans.installer.wizard.components.WizardAction$1.run(WizardAction.java:103)
[2020-08-11 14:03:20.448]: ... show message dialog
[2020-08-11 14:03:20.448]: title: Critical Error
[2020-08-11 14:03:20.448]: message: An unexpected exception happened in thread Thread-2
[2020-08-11 14:03:20.449]:
[2020-08-11 14:03:20.449]: Exception:
[2020-08-11 14:03:20.449]: java.lang.NullPointerException:
[2020-08-11 14:03:20.449]: null
[2020-08-11 14:03:20.449]:
[2020-08-11 14:03:20.449]: You can get more details about the issue in the installer log file:
[2020-08-11 14:03:20.449]: C:\Users\Kai\.nbi\log\20200811140318.log
[2020-08-11 14:03:27.074]: ... dialog closed
有人知道如何解决此错误或使用另一种方法卸载NetBeans 12.0吗?
解决方法
经过反复试验,以下方法对我有效:
- 进入用户目录(C:\ Users \ YourUsername \),然后在其中找到 .nbi 目录
- 删除.nbi目录(或将其移至其他位置)
- 运行NetBeans 12.0卸载程序
此后,卸载向导找不到NetBeans 12.0的注册表项,并停止了卸载过程。为了解决这个问题,我做了以下事情:
- 删除Netbeans 12.0目录(C:\ Programs \ NetBeans 12.0 \)
- 使用安装向导再次安装NetBeans 12.0
- 通过Windows 10设置卸载NetBeans 12.0
最后,我能够在没有Nullpointer异常的情况下卸载NetBeans 12.0。