Java Dependency Viewer

Add this URL to your Eclipse Installation to reach this solution's update site.

2023-09 (4.29), 2023-06 (4.28), 2023-03 (4.27), 2022-12 (4.26), 2022-09 (4.25), 2022-06 (4.24), 2022-03 (4.23), 2021-12 (4.22), 2021-09 (4.21), 2021-06 (4.20), 2021-03 (4.19), 2020-12 (4.18), 2020-09 (4.17), 2020-06 (4.16), 2020-03 (4.15), 2019-12 (4.14), 2019-09 (4.13), 2019-06 (4.12), 2019-03 (4.11), 2018-12 (4.10), 2018-09 (4.9), Photon (4.8), Oxygen (4.7), Neon (4.6), Mars (4.5), Luna (4.4), Kepler (4.3), Juno (4.2, 3.8), Previous to Juno (<=4.1), 2023-12 (4.30), 2024-03 (4.31), 2024-06 (4.32), 2024-06 (4.33)

Learn more...
Solution Description

In a complicated java project, having a visual image of dependencies between classes or between Java packages is very useful. Architects and senior developers can review the dependencies to make sure the project is implemented following the design.

Install plugin:

* Update site:…

* Or using zipped repo file: - Download source zipped repo from… and install feature from the zipped repo. See for more information how to install from a zipped repo.

Important: This plugin requires Zest SDK 1.7 to work (specifically org.eclipse.zest.core and org.eclipse.zest.layouts plugins). If you don't have the required plugins, it will not work.

Usage: Select some classes or Java packages, right click and choose "Dependency Viewer/View Package Dependency" or "Dependency Viewer/View Outbound Package Dependency" or "Dependency Viewer/View Class Dependency" or "Dependency Viewer/View Outbound Class Dependency". A dependency graph will be displayed for the selected packages/classes. You can arrange nodes in the graph with your mouse or select nodes and use Delete key (or Fn-Delete on MacOS) to delete unwanted nodes from the graph.

Compatibility: Tested with Eclipse 3.6 to 4.28 but it should run well on older/newer versions of Eclipse.

Notes: You might need to install manually Zest SDK 1.7 from Eclipse Update Site ( ) if Eclipse cannot install it automatically


Additional Details

Eclipse Versions: 2023-09 (4.29), 2023-06 (4.28), 2023-03 (4.27), 2022-12 (4.26), 2022-09 (4.25), 2022-06 (4.24), 2022-03 (4.23), 2021-12 (4.22), 2021-09 (4.21), 2021-06 (4.20), 2021-03 (4.19), 2020-12 (4.18), 2020-09 (4.17), 2020-06 (4.16), 2020-03 (4.15), 2019-12 (4.14), 2019-09 (4.13), 2019-06 (4.12), 2019-03 (4.11), 2018-12 (4.10), 2018-09 (4.9), Photon (4.8), Oxygen (4.7), Neon (4.6), Mars (4.5), Luna (4.4), Kepler (4.3), Juno (4.2, 3.8), Previous to Juno (<=4.1), 2023-12 (4.30), 2024-03 (4.31), 2024-06 (4.32), 2024-06 (4.33)

Platform Support: Windows, Mac, Linux/GTK

Organization Name: Thai Ha

Development Status: Production/Stable

Date Created: Saturday, December 17, 2011 - 01:04

License: Apache 2.0

Date Updated: Friday, October 6, 2023 - 10:51

Submitted by: Thai Ha

Date Ranking Installs Clickthroughs
July 2024 137/653 154 9
June 2024 125/681 232 16
May 2024 132/682 244 20
April 2024 136/687 241 15
March 2024 134/694 275 14
February 2024 123/687 255 14
January 2024 146/691 218 12
December 2023 152/671 198 19
November 2023 174/686 182 13
October 2023 211/673 120 20
September 2023 190/663 135 24
August 2023 283/673 48 17
View Data for all Listings

Unsuccessful Installs

Unsuccessful Installs in the last 7 Days: 2

Download last 500 errors (CSV)

Marketplace Drag to Install Button

By adding the following code below to your website you will be able to add an install button for Java Dependency Viewer.

HTML Code:

Markdown Syntax:


Drag to your running Eclipse* workspace. *Requires Eclipse Marketplace Client

Reviews Add new review

Using Spring Tool Suite 4, Version: 4.21.1.RELEASE


Works as described. Thanks, it's very useful tool! Cheers!


Doesn't work for me (STS and spring project). I have selected 2 classes referencing each other... The view remains blank. Same think when selecting all classes.

In reply to by Nicolas Roussel

It is likely that you don't have ZEst SDK installed or you are uusing an old version which doesn't work with newer JDK versions. Please use the latest build (link in the description) and let me know if you still have issues. Thanks.

I have selected multiple files and right clicked-> Dependency Viewer -> View Class Dependency ..or even you select View Outbound Class Dependency... The result is a blank screen.  Even though I see the classes call each other.

Receiving these errors when installing:

No repository found containing: osgi.bundle,org.eclipse.zest.core,

No repository found containing: osgi.bundle,org.eclipse.zest.layouts,

In reply to by tim dugan

"View Class Dependency" menu item is to show dependencies between *selected* classes. So if you select only one class, there is nothing to be displayed. Try one of the following options:

1. To view dependencies between specific classes: select all those classes and right click and choose  "View Class Dependency" to see how those classes are related

2. To view dependent classes of a specific class (i.e. which classes are being used by this class): Right click on the class, select "View Outbound Class Dependency". Note that the Java standard classes are excluded automatically from the view.

If you suspect that the result is not correct, close the   "Dependency View" view manually (using the X icon on top right corner) then try  again.

Please let me know if you still have problems with it.

Thanks for trying the plugin.

A very very useful tool. Great idea. Thanks

It would we more useful if having these features:

- Save the layout, so the work of arrangong the boxes is not lost each time you call the viewer

- An automatic cascading layout

Thanks again



I've just installed the pluging on eclipse Juno using the marketplace install.
Clicked 'view package dependencies' on one of the packages - blank window
Clicked 'view package dependencies' on a project - eclipse hangs for a few minutes (spinning wheel), then becomes unresponsive
This is a rather large project, but I cannot wait minutes for this to happen without eclipse

Uninstalled. Frustrated

This version of the tool has two serious weaknesses that make it impossible to use effectively.

One weakness is that the menu actions ("View class dependency" and "View package dependency") are executed in the eclipse UI thread. The workspace hangs for several minutes until the results have been calculated - or until it crashes because the heap has been exhausted, which just now happened as I was writing these comments.

Another weakness is that the initial layout algorithm chosen seems to be "show all nodes jumbled together". The user gets one layout, and that's it.

This tool is a *viewer*. Its usefulness depends entirely on whether it helps the user to find some presentation for hist graph that he can interpret. It is not enough to show just any layout and leave the user with no options to continue.