-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathDevelopInEclipse.txt
More file actions
28 lines (15 loc) · 5.71 KB
/
DevelopInEclipse.txt
File metadata and controls
28 lines (15 loc) · 5.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Here are procedures describing how to create a runnable configuration in Eclipse for running/debugging Cytoscape App as a native Eclipse Java application. The set up to use Eclipse to develop Cytoscape can be found here: http://wiki.cytoscape.org/Cytoscape_3/AppDeveloper/SettingUpAnIDE/Eclipse#Setting_up_Eclipse. The following procedures are based on the mac version (Cytoscape 3.2.1).
1). Check the shell script: cytoscape.sh, and see the last line in this script is:
$script_path/framework/bin/karaf “$@“
2). Check the above shell script file and search for this line:
exec "$JAVA" $JAVA_OPTS -Djava.endorsed.dirs="${JAVA_ENDORSED_DIRS}" -Djava.ext.dirs="${JAVA_EXT_DIRS}" -Dkaraf.instances="${KARAF_HOME}/instances" -Dkaraf.home="$KARAF_HOME" -Dkaraf.base="$KARAF_BASE" -Dkaraf.data="$KARAF_DATA" -Dkaraf.etc="$KARAF_ETC" -Djava.io.tmpdir="$KARAF_DATA/tmp" -Djava.util.logging.config.file="$KARAF_BASE/etc/java.util.logging.properties" -Djavax.management.builder.initial=org.apache.karaf.management.boot.KarafMBeanServerBuilder $KARAF_OPTS $OPTS -classpath "$CLASSPATH" $MAIN "$@"
Add the follow line (replace exec by echo) in order to output the arguments used by the above java running command:
echo "$JAVA" $JAVA_OPTS -Djava.endorsed.dirs="${JAVA_ENDORSED_DIRS}" -Djava.ext.dirs="${JAVA_EXT_DIRS}" -Dkaraf.instances="${KARAF_HOME}/instances" -Dkaraf.home="$KARAF_HOME" -Dkaraf.base="$KARAF_BASE" -Dkaraf.data="$KARAF_DATA" -Dkaraf.etc="$KARAF_ETC" -Djava.io.tmpdir="$KARAF_DATA/tmp" -Djava.util.logging.config.file="$KARAF_BASE/etc/java.util.logging.properties" -Djavax.management.builder.initial=org.apache.karaf.management.boot.KarafMBeanServerBuilder $KARAF_OPTS $OPTS -classpath "$CLASSPATH" $MAIN "$@"
3). Run the shell script, cytoscape.sh, and the following should be output:
Zeus:Cytoscape_v3.2.1 gwu$ ./cytoscape.sh
/Library/Java/JavaVirtualMachines/jdk1.7.0_76.jdk/Contents/Home/bin/java -Xms2048M -Xmx15360M -Djava.endorsed.dirs=/Library/Java/JavaVirtualMachines/jdk1.7.0_76.jdk/Contents/Home/jre/lib/endorsed:/Library/Java/JavaVirtualMachines/jdk1.7.0_76.jdk/Contents/Home/lib/endorsed:/Users/gwu/ProgramFiles/Cytoscape_v3.2.1/framework/lib/endorsed -Djava.ext.dirs=/Library/Java/JavaVirtualMachines/jdk1.7.0_76.jdk/Contents/Home/jre/lib/ext:/Library/Java/JavaVirtualMachines/jdk1.7.0_76.jdk/Contents/Home/lib/ext:/Users/gwu/ProgramFiles/Cytoscape_v3.2.1/framework/lib/ext -Dkaraf.instances=/Users/gwu/ProgramFiles/Cytoscape_v3.2.1/framework/instances -Dkaraf.home=/Users/gwu/ProgramFiles/Cytoscape_v3.2.1/framework -Dkaraf.base=/Users/gwu/ProgramFiles/Cytoscape_v3.2.1/framework -Dkaraf.data=/Users/gwu/CytoscapeConfiguration/3/karaf_data -Dkaraf.etc=/Users/gwu/ProgramFiles/Cytoscape_v3.2.1/framework/etc -Djava.io.tmpdir=/Users/gwu/CytoscapeConfiguration/3/karaf_data/tmp -Djava.util.logging.config.file=/Users/gwu/ProgramFiles/Cytoscape_v3.2.1/framework/etc/java.util.logging.properties -Djavax.management.builder.initial=org.apache.karaf.management.boot.KarafMBeanServerBuilder -Dcytoscape.home=/Users/gwu/ProgramFiles/Cytoscape_v3.2.1 -Xdock:icon=./framework/cytoscape_logo_512.png -Xdock:name=Cytoscape -Dkaraf.startLocalConsole=true -Dkaraf.startRemoteShell=false -classpath /Users/gwu/ProgramFiles/Cytoscape_v3.2.1/framework/lib/karaf-jaas-boot.jar:/Users/gwu/ProgramFiles/Cytoscape_v3.2.1/framework/lib/karaf-jmx-boot.jar:/Users/gwu/ProgramFiles/Cytoscape_v3.2.1/framework/lib/karaf-launcher-3.2.1.jar:/Users/gwu/ProgramFiles/Cytoscape_v3.2.1/framework/lib/karaf-org.osgi.core.jar:/Users/gwu/ProgramFiles/Cytoscape_v3.2.1/framework/lib/karaf.jar org.cytoscape.launcher.internal.Launcher
4). From the above output, we can figure out the main class is: org.cytoscape.launcher.internal.Launcher, and the project should be the project for App development. The following should be used as program arguments:
-Xms2048M -Xmx15360M -Djava.endorsed.dirs=/Library/Java/JavaVirtualMachines/jdk1.7.0_76.jdk/Contents/Home/jre/lib/endorsed:/Library/Java/JavaVirtualMachines/jdk1.7.0_76.jdk/Contents/Home/lib/endorsed:/Users/gwu/ProgramFiles/Cytoscape_v3.2.1/framework/lib/endorsed -Djava.ext.dirs=/Library/Java/JavaVirtualMachines/jdk1.7.0_76.jdk/Contents/Home/jre/lib/ext:/Library/Java/JavaVirtualMachines/jdk1.7.0_76.jdk/Contents/Home/lib/ext:/Users/gwu/ProgramFiles/Cytoscape_v3.2.1/framework/lib/ext -Dkaraf.instances=/Users/gwu/ProgramFiles/Cytoscape_v3.2.1/framework/instances -Dkaraf.home=/Users/gwu/ProgramFiles/Cytoscape_v3.2.1/framework -Dkaraf.base=/Users/gwu/ProgramFiles/Cytoscape_v3.2.1/framework -Dkaraf.data=/Users/gwu/CytoscapeConfiguration/3/karaf_data -Dkaraf.etc=/Users/gwu/ProgramFiles/Cytoscape_v3.2.1/framework/etc -Djava.io.tmpdir=/Users/gwu/CytoscapeConfiguration/3/karaf_data/tmp -Djava.util.logging.config.file=/Users/gwu/ProgramFiles/Cytoscape_v3.2.1/framework/etc/java.util.logging.properties -Djavax.management.builder.initial=org.apache.karaf.management.boot.KarafMBeanServerBuilder -Dcytoscape.home=/Users/gwu/ProgramFiles/Cytoscape_v3.2.1 -Xdock:icon=./framework/cytoscape_logo_512.png -Xdock:name=Cytoscape -Dkaraf.startLocalConsole=true -Dkaraf.startRemoteShell=false
The following jar files should be listed for class path, which should list the Cytoscape App source folder also (e.g. CytoscapePlugIn3), in the Run Configuration window (not the class path used by the project, which should be taken care of by the maven plugin):
/Users/gwu/ProgramFiles/Cytoscape_v3.2.1/framework/lib/karaf-jaas-boot.jar:/Users/gwu/ProgramFiles/Cytoscape_v3.2.1/framework/lib/karaf-jmx-boot.jar:/Users/gwu/ProgramFiles/Cytoscape_v3.2.1/framework/lib/karaf-launcher-3.2.1.jar:/Users/gwu/ProgramFiles/Cytoscape_v3.2.1/framework/lib/karaf-org.osgi.core.jar:/Users/gwu/ProgramFiles/Cytoscape_v3.2.1/framework/lib/karaf.jar
5). Run this Run Configuration, and do debug as for a usual Java application.