Some plug-ins contain resources that need to be accessed by other code or by using normal Java file based APIs, so cannot be packed into a jar.

The MANIFEST.MF of a plug-in can specify:

Eclipse-BundleShape: dir

to specify that the plugin be installed as a directory. If the plug-in is part of a feature this can also be specified in the unpack attribute in the feature.xml entry for the plug-in.

I think the jdimodel.jar in the org.eclipse.jdt.debug needs to be accessed directly by a Java JVM so the plug-in is a directory.