hamecoded
4/15/2015 - 2:46 PM

java

java

# kill a stuck java process
ps -ef | grep java
kill -9 68894

# Standard double-clickable application bundles don't use JDKs installed under /Library/Java at all. 
# Old-style .app bundles using Apple's JavaApplicationStub will use Apple Java 6 from /System/Library/Frameworks.
# New-style ones built with AppBundler without a bundled JRE will use the "public" JRE in /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home - that's hard-coded in the stub code and can't be changed, and you can't have two different public JREs installed at the same time.
➜  ~  /usr/libexec/java_home -V
Matching Java Virtual Machines (3):
    1.7.0_55, x86_64:	"Java SE 7"	/Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home
    1.6.0_65-b14-462, x86_64:	"Java SE 6"	/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
    1.6.0_65-b14-462, i386:	"Java SE 6"	/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

/Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home

# JAVA_HOME
#1.7.0_55-b13
export JAVA_HOME=$(/usr/libexec/java_home -v 1.7)
# same as
#export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home

#1.8.0_45-b14
# Apple installed java as seen in System Prefrences 
#export JAVA_HOME=/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home

#1.6.0_65-b14-462-11M4609
#export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
# export will resolve to /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

alias setjdk16='export JAVA_HOME=$(/usr/libexec/java_home -v 1.6)'
alias setjdk17='export JAVA_HOME=$(/usr/libexec/java_home -v 1.7)'
alias setjdk18='export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)'