Launching Cytoscape from Eclipse
Pages 35
Clone this wiki locally
How to Launch (and Debug, and Profile) Cytoscape from Eclipse
There are two ways to launch cytoscape from inside eclipse.
- As an external tool
- Easier to set up, more cumbersome to launch, slower to debug, some minor limitations, recommended for app developers
- Directly using a regular launch configuration
- Harder to set up, easier to launch, supports full-speed debug, supports YourKit profiler launch, recommended for core developers
External Tool Launch Configuration
Instructions are available on the App Dev Ladder: https://github.com/cytoscape/cytoscape/wiki/Launch-and-Debug-from-Eclipse
Regular Launch Configuration
These instructions work on Mac and should work on Linux. Windows is probably similar.
-
Launch Cytoscape normally using the cytoscape.sh script.
git/cytoscape/cytoscape/gui-distribution/assembly/target/cytoscape/cytoscape.sh
-
Open a Terminal
-
Run this command
ps -A | grep java
- Ubuntu Note: On Ubuntu, the ps command doesn't output the full command line arguments for a process, so I had to get the java process PID (in my case, 37012 ) and then do this:
ps -fp 37012 -w > cytoscape_process.txt
**
-
This will show the command that the cytoscape.sh script generates. We will create an eclipse launch config from this command.
- If there is more than one java process Cytoscape is the one that ends with org.cytoscape.launcher.internal.Launcher
-
Go to eclipse, click the little down arrow next to the run button, and select Run Configurations…
- This will open the Run Configuations Dialog

- Click on “Java Application” and click the “New” button on the little toolbar above it.
- Click on the Main tab (probably already open)
- Give the run configuration a name such as “Cytoscape_HEAD”
- Browse to select the "model-impl_impl" Project (note: different from old screenshot)
- In the “Main class” field enter the following:
org.cytoscape.launcher.internal.Launcher
- Click on the Arguments tab
- Go back to the terminal
- Select all the VM arguments from the command (starting at -Xms2048M and up to but not including the -classpath argument)
- Copy-paste the arguments into the “VM arguments” text area in the eclipse run configurations dialog.
- Add the following argument to the VM arguments (very important!!!)
-Dkaraf.lock=false
- Click on the "Classpath" tab (may be called "Dependencies" in newer versions of Eclipse)
- Click on “Bootstrap Entries” (or "Classpath Entries")
- Click on “Add External JARs…”
- Navigate to
git/cytoscape/cytoscape/gui-distribution/assembly/target/cytoscape/framework/lib/boot
- Select all the jar files in this folder
- If using Java 11 or higher navigate to
git/cytoscape/cytoscape/gui-distribution/assembly/target/cytoscape/framework/lib/jdk9plus
- Select all the jar files in this folder
- And like in the screenshot, also add JRE System Library to Bootstrap Entries (via Advanced...) and model-impl_impl to User Entries (via Add Projects...).
- Click Apply
- Click Run
To debug from Eclipse, you may need to add all of the Java Projects in the Source tab
You can now run/debug/profile Cytoscape directly from the eclipse toolbar. Enjoy :)
Known Issues
Some apps that rely on JavaFX may throw exceptions when attempting to load JavaFX classes.
- I think this can be fixed by updating your Java install. Some earlier versions of Java 8 did not ship with the JavaFX classes. (This is the old case, with early Java 8.)
- Starting in v. 3.8 of Cytoscape, Java 11 is required. JavaFX 13 must be loaded separately.
- The Eclipse project has a project property specifying the Java version. If this doesn't agree with the version specified in the POM, confusing compiler errors will result.