Java 8
2014-06-10
Information om Java 8 och hur man väljer Java-version
Oracle har släppt Java 8 och JDK:n finns att hämta här:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
Java på OS X är lite rörigt; här ett försök att skingra dimmorna:
- Apple underhåller fortfarande Java 6 vad gäller säkerhetspatchar.
Man kan hämta Java 6 här: http://support.apple.com/kb/DL1572 - Nya Macar har inte Java installerat alls
- Det man oftast hämtar, t.ex. från www.java.com, är JRE-versionen som är avsedd att köras i webbläsaren
- Denna version går att använda för Java-utveckling, men man bör låtsas som att den inte finns utan i stället hämta ner en JDK och använda den
- Tyvärr får man själv installera uppdateringar till denna
- JRE-versionen [för webbläsaren] uppdateras däremot av Oracles verktyg
- Java-delen av ”Systeminställningar” handlar enbart om webbläsar-java
- Om man installerar Java 8 kan man sedan inte installera nyare versioner av Java 7
Jag lyckades dock göra det m.h.a. programmet ”Pacifist” (http://www.charlessoft.com)
Hur ser man då vilka versioner man har på sin dator och var finns de?
Med terminal-programmet /usr/libexec/java_home -V
får man se vilka versioner av Java man har installerade:$ /usr/libexec/java_home -V
Matching Java Virtual Machines (4):
1.8.0_05, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home
1.7.0_51, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_51.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.8.0_05.jdk/Contents/Home
Om man kör kommandot utan optioner får man endast den sista raden, vilket är ett lämpligt värde för variabeln JAVA_HOME.
I outputen ovan kan konstateras att JRE:n lyser med sin frånvaro. Den ligger här:/Library/Internet Plug-Ins/JavaAppletPlugin.plugin
men som sagt: ignorera den!
För att byta Java-version från kommandoraden skriver man följande:export JAVA_HOME=$(/usr/libexec/java_home -v 1.N)
där N
är den version av java man vill köra (från /usr/libexec/java_home -V
ovan, t.ex. 8 eller 7 eller 6 man behöver inte specificera decimalerna).
Vill man verkligen vara säker på vad som kör så kan man bli root och sedan köra sitt java-programm så här:$ dtruss java HelloWorld
Bland all output kan man se vilken java som faktiskt körs!
Jag har skrivit ett shell-script (http://cs.lth.se/kontakt/moeller-peter/script/java-checksh/) som berättar vad man har för java-miljö och berättar hur man hämtar ny, testar o.s.v.