-->

Installed a plugin on eclipse (mars), now eclipse

2019-07-18 13:53发布

问题:

I installed a plugin for viewing json files, its the "json tool" by sweetlemonade.

Anyway, after installing it I tried to view a json file (very large file) which I thought the plugin might be able to handle. Well, eclipse crashed when I did this. Now I can't get eclipse to start again. It fails when it gets to "loading org.sweetlemonade.eclipse.json"

I've searched for other answers on here but the accepted answers include using "p2 director" to uninstall the plugin via command line. The only problem is the answer is for an old version of eclipse. I'm using eclipse mars and can't find an install for "p2 director" anywhere.

How can I uninstall this plugin manually and get eclipse to run again? I want to solve this without having to reinstall and lose my project setups.

回答1:

Okay so I managed to solve this by navigating to

configuration/org.eclipse.equinox.simpleconfigurator/bundles.info

and deleted the line responsible for the plugin:

org.sweetlemonade.eclipse.json,1.1.0,../../../.p2/pool/plugins/org.sweetlemonade.eclipse.json_1.1.0.jar,4,false

Then I ran eclipse again and it opened just fine. I saw the tab where eclipse previously tried to open the large JSON file was still open except now it has an "x" with the message that the json tool plugin couldn't be found. Since the issue was probably occurring because eclipse kept trying to restore that tab every time I opened it, I closed the tab then closed eclipse and re-added the line I deleted to the bundles.info file. Lastly, I reopened eclipse and uninstalled the plugin the proper way (since the plugin wouldn't be of any use to me).



回答2:

It sounds to me like Eclipse autosaved your workspace with that file open; the autosave happens every 5 minutes by default. Rename that autosave file, found in _workspace_/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi, and relaunch.

You can then use the HelpAboutInstallation Details to uninstall the JSON editor if you so choose.