lu.se

Datavetenskap

Lunds Tekniska Högskola

Denna sida på svenska This page in English

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.