## Dependencies page

The Dependencies page shows the dependencies that your plug-in has on other plug-ins. You must list on this page all the plug-ins that contribute code required on your plug-in project's classpath to compile. You must also list all plug-ins that contribute extension points that your plug-in uses. When you modify the list of dependencies and save the file, PDE will automatically update your classpath.

Note that the order of the plug-ins in the list is important because it dictates the classloading order at runtime, so use the Up and Down buttons to organize the list as appropriate.

When you select an entry in the list of required plug-ins, you can mark the dependency as re-exported in the Dependency Properties section. Re-exporting a dependency means that clients of your plug-in will get that dependency for free. It is important that you do not abuse this functionality and use it only when it makes sense to do so.

If your plug-in requires a specific version of a plug-in to function properly, then you can specify the version required along with the version match rule. You can read more about valid values in the Platform ISV guide.

The Dependency Analysis contain several useful features such as finding cycles in the dependency graph. Such cycles are forbidden by the runtime, making the analysis useful for performing a sanity check on your plug-in's dependency graph before testing it.

For a selected plug-in in the list, Compute Dependency Extent will give you a list of all the Java types and all the extension points that your plug-in needs from that dependency. So, in essence, it tells you why you need that plug-in.

Since the JARs from all the plug-ins in the list of dependencies will be on your plug-in's classpath at runtime, it is very important to not have any dependencies that you do not need, as they would slow down classloading. To find such extraneous entries and remove them, use the Find Unused Dependencies feature available on this page.