Recently i was trying to modify an existing eclipse plugin to make it work with JUNO. The orginal plugin was installed without problem in JUNO but when trying it fails to find some classes since there are API changes in the platform.
So i patch the original plugin with the new API and ran the plugin using eclipse and it works successfully. Now it was time to make it a package so i can install the patch without modifying jar files manually. So i read about how to create a eclipse feature patch which was exactly what i was looking for. So i created the patch and when i try to install it i was getting the following error:
[patch name] is not applicable to the current configuration and will not be installed.
So what i though was that some thing wrong with the plugins that contained in the feature patch. So i first tried by replacing the new classes in the original plugin jar and changed the manifest to include the new API dependency. And it worked. So now i was sured that my plugin code was not the problem. So i them replaces the original plugin jar with my patched plugin jar and this cause the plugin to disappear. So now it seems some thing wrong with my manifest of my patched jar.
So i went through the manifest of my patched plugin once again and i saw that i have messed with a dependency. The problem was a dependency plugin version was mentioned with a qualifier which actually didn't included in my feature patch. So my patched plugin fails to load because that version cannot be found at runtime. But when i run through eclipse that it works because the dependency plugin project is there in my workspace. Fixing the version solved the problem with the installation and the feature patch was successfully installed.
So for starters with eclipse platform plugin development like me, if you get the above error check you plugin manifest whether it is correct for the target runtime environment.