Come impostare la versione Java predefinita?

92

Ho seguito tutte le istruzioni fornite in questa domanda , ma sto incontrando alcuni problemi con l'ultima parte di esso.

In realtà ho la versione 6.22 di java e vorrei aggiornare alla versione 6.30.

Quindi, dopo aver spostato la directory estratta java-6-oracle in /usr/lib/jvm non so cosa fare, poiché lo script indicato nella risposta sopra aggiorna da java 5 a java 6.

Per motivi di chiarezza qui viene prodotto se faccio un ls in dir /usr/lib/jvm :

% Bl0ck_qu0te%

Che cosa dovrei fare ora?

PARTE AGGIUNTA

Sotto il suggerimento di @fossfreedom ho eseguito comunque lo script e in realtà ha aggiornato la versione java.

Infatti se eseguo il comando java -version outpu sarà il seguente:

[email protected]:~$ java -version
java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b04)
Java HotSpot(TM) Server VM (build 20.6-b01, mixed mode)

C'è ancora un problema , se Irun javac -version mi dà la versione precedente installata:

[email protected]:~$ javac -version
javac 1.6.0_22

E se utilizzo il tester in questo link mi dirà che la versione è

Java Version 1.6.0_22 from Sun Microsystems Inc.

Che cosa non va?

Sembra che Java Runtime Environment sia stato aggiornato, ma Java Compiler e Java non hanno il plugin per il browser.

Come posso aggiornarli?

ALTRA PARTE AGGIUNTA

sudo update-alternatives --config java restituirà l'output seguente

[email protected]:~$ sudo update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                      Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-6.31-oracle/bin/java     1062      auto mode
  1            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      manual mode
  2            /usr/lib/jvm/java-6.31-oracle/bin/java     1062      manual mode

Press enter to keep the current choice[*], or type selection number:

questo ha senso con il fatto che JRE è correttamente aggiornato alla versione 6.31, i problemi riguardano il compilatore Java e il plug-in del browser Java.

Qualche idea?

    
posta Matteo 13.04.2012 - 12:46

5 risposte

85

Fai la tua prima domanda:

forse potresti essere confuso dal fatto che lo script webupd8 sia 0.5b. Questa è la versione dello script - non si riferisce alla versione java.

Oltre all'impostazione della versione di javac.

Sospetto che sia necessario fornire esplicitamente il percorso del compilatore javac

cioè.

sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/java-6.31-oracle/bin/javac" 1

seguito da:

sudo update-alternatives --config javac

Riguardo alla configurazione del plugin java chrome.

La domanda principale:

Come installare Oracle JDK 6?

include questa informazione - poiché la struttura della tua cartella è leggermente diversa il tuo comando di collegamento dovrebbe essere:

ln -s /usr/lib/jvm/java-6.31-oracle/jre/lib/i386/libnpjp2.so ~/.mozilla/plugins/
    
risposta data fossfreedom 13.04.2012 - 14:37
38

Vedi questo ; corri

sudo  update-java-alternatives --list

per elencare tutte le installazioni Java su una macchina in base al nome e alla directory, quindi eseguire

sudo  update-java-alternatives --set [JDK/JRE name e.g. java-8-oracle]

per scegliere quale JRE / JDK usare.

Se si desidera utilizzare JDK / JRE diversi per ciascuna attività Java, è possibile eseguire update-alternative per configurare un eseguibile java alla volta; puoi eseguire

sudo  update-alternatives --config java[Tab]

per vedere i comandi Java che possono essere configurati (java, javac, javah, javaws, ecc.). E poi

sudo  update-alternatives --config [javac|java|javadoc|etc.]

associerà l'attività / comando Java a un particolare JDK / JRE.

Potrebbe inoltre essere necessario impostare JAVA_HOME per alcune applicazioni: da questa risposta puoi utilizzare

export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")

per JREs o

export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:jre/bin/java::")

per JDK.

    
risposta data WillC 10.02.2016 - 02:43
25

Penso che dovresti dare un'occhiata al comando update-java-alternatives dal pacchetto java-common e ai file *.jinfo da esso utilizzati. Con questo dovresti essere in grado di passare completamente tra le installazioni java (indipendentemente da JDK, JRE, ...).

    
risposta data Johannes Wachter 13.04.2012 - 16:08
4

Su ubuntu / linux puoi cambiare la versione di java usando

update-alternatives --config java

Ma prima, è necessario installare la versione.

È possibile utilizzare questo script (./install-java.sh) per installare più JVM

#!/bin/sh
(
lookforJdks=$PWD
echo "Directory: $lookforJdks"
jdks='test -e ./javac || find $lookforJdks -type d -iname '*jdk1.*' 2> /dev/null'
#set -e
echo 'which jdk do you want to choose? looking for jdks. This might take a while'
echo "$jdks" | awk '{printf("%5d : %s\n", NR,$0)}'
read choose
test -e ./javac || cd 'echo "$jdks" | tr '\n' ',' | cut -d',' -f $choose'/bin
for e in appletviewer extcheck idlj jar jarsigner java javac javadoc javah javap jconsole \
 jdb jhat jinfo jmap jps jrunscript jsadebugd jstack jstat jstatd native2ascii rmic \
 schemagen serialver wsgen wsimport xjc jvisualvm jmc; do sudo update-alternatives \
 --install /usr/bin/$e $e $(readlink -f ./$e) 100; done
)

echo "RUN update-alternatives --config java"

Metti questo script nella cartella in cui è stato decompresso la JVM (s), ed esegui:

/opt/install-java.sh

Prossimo utilizzo:

update-alternatives --config java
    
risposta data Ricardo Jl Rufino 24.10.2016 - 04:59
1

Se hai intenzione di impostare manualmente delle alternative per javac javaws javadoc o qualsiasi altro comando relativo a java, potresti voler renderli schiavi dell'altenativo java.

sudo update-alternatives --install "/usr/bin/java" "java" "/opt/jdk1.8.0_74/bin/java" 0 --slave "/usr/bin/javadoc" "javadoc" "/opt/jdk1.8.0_74/bin/javadoc"


update-alternatives: updating alternative /opt/jdk1.8.0_74/bin/java because link group java has changed slave links


:/opt/jdk1.8.0_74$ sudo update-alternatives --display java

java - modalità automatica   la migliore versione del collegamento è /opt/jdk1.8.0_74/bin/java   link attualmente punta a /opt/jdk1.8.0_74/bin/java   collegamento java è / usr / bin / java   javadoc slave è / usr / bin / javadoc /opt/jdk1.8.0_74/bin/java - priorità 0   slave javadoc: /opt/jdk1.8.0_74/bin/javadoc

Cambia /opt/jdk1.8.0_74/ con la directory in cui è installato jdk.

    
risposta data Thiago 01.02.2017 - 14:01

Leggi altre domande sui tag