Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Instalace, aktualizace a spouštění => Téma založeno: maaaji 12 Března 2013, 13:55:32

Název: Oracle Java
Přispěvatel: maaaji 12 Března 2013, 13:55:32
Jedna internetová konference, které se nutně potřebuji zůčastnit vyžaduje Javu od Oracle. Tento problém jsem měla i zhruba před  3 měsíci, kdy nastal upgrade na vyšší verzi javy a musela jsem to přeinstalovat. Zabralo mi to tehdy dohromady tak 5 hodin, než jsme na to přišla, ale víceméně podle tohoto návodu http://www.webupd8.org/2011/09/how-to-install-oracle-java-7-jdk-in.html  se to povedlo.

Nedávno byla nutná další aktualizace javy na verzi 7u17, tak jsem zkusila tohle http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html což mělo nainstalovat něco, co by javu automaticky aktualizovalo, ale nepovedlo se... terminál mi vypsal tohle:

 sudo update-java-alternatives -s java-7-oracle
update-alternatives: chyba: pro mozilla-javaplugin.so neexistují žádné alternativy.
update-alternatives: chyba: pro xulrunner-1.9-javaplugin.so neexistují žádné alternativy.
update-alternatives: chyba: alternativa /usr/lib/jvm/java-7-oracle/jre/bin/jexec pro jexec není registrována, nenastavuji.
update-alternatives: chyba: pro mozilla-javaplugin.so neexistují žádné alternativy.
update-alternatives: chyba: pro xulrunner-1.9-javaplugin.so neexistují žádné alternativy.


Takže otázka zní: co dělat, aby mi fungovala Oracle java a nejlíp abych to nemusela pokaždé dělat znova?
Otázka 2: proč mi teď nejde ani internetové bankovnictví u KB, když tam předtím stačila i open jdk java?



Název: Re:Oracle Java
Přispěvatel: ntz_reloaded 12 Března 2013, 15:24:15
u javy to je slozitejsi .. spravne nainstalovana java podle oraclu (sunu) vypada takto:

Kód: [Vybrat]
> set | egrep JAVA
JAVA_BINDIR=/usr/java/jdk1.6.0_35/bin
JAVA_HOME=/usr/java/jdk1.6.0_35
JAVA_ROOT=/usr/java/jdk1.6.0_35

> ls -l /usr/java/
total 12
lrwxrwxrwx 1 root root   16 Sep  4  2012 default -> /usr/java/latest
drwxr-xr-x 9 root root 4096 May 16  2012 jdk1.6.0_31
drwxr-xr-x 7 root root 4096 Sep  4  2012 jdk1.6.0_35
drwxr-xr-x 3 root root 4096 Sep  4  2012 jdk1.7.0_07
lrwxrwxrwx 1 root root   21 Sep  4  2012 latest -> /usr/java/jdk1.6.0_35

tzn ciste teoreticky by stacilo, kdyz si nainstalujes javu, a ty promenne vyexportujes v ramci sveho shellrc .. jinak v normalnich distrech se to dela pomoci /etc/profiles.d

Kód: [Vybrat]
> cat /etc/profile.d/alljava.sh
#                                                                               
#    /etc/profile.d/alljava.sh                                                   
#                                                                               
# send feedback to http://bugs.opensuse.org
# author: <dpecka@opensuse.org>
#
# This script sets some environment variables for default java.
# Affected variables: JAVA_BINDIR, JAVA_HOME, JAVA_ROOT
#                       JRE_HOME, JDK_HOME, SDK_HOME
#

_jbindir=$(dirname $(readlink -f /etc/alternatives/java) 2>/dev/null);
_jdkbindir=$(dirname $(readlink -f /etc/alternatives/javac) 2>/dev/null);
_sunjbindir=$(readlink -f /usr/java/latest/bin);

set_java_env() {
        export JAVA_BINDIR=$1;
        export JAVA_HOME=$(dirname "$JAVA_BINDIR");
        export JAVA_ROOT=$JAVA_HOME;

### here we set some additional stuff
        case "$JAVA_HOME" in
                *jre*)
                        export JRE_HOME=$JAVA_HOME
                        ;;
                *jdk*)
                        export JRE_HOME=$JAVA_HOME/jre;
                        export JDK_HOME=$JAVA_HOME;
                        export SDK_HOME=$JAVA_HOME;
                        ;;
                *)
### this should never happen. If so, the java is from broken package
                ;;
        esac
}

unset JAVA_BINDIR JAVA_HOME JAVA_ROOT JRE_HOME JDK_HOME SDK_HOME;

### oracle jre|jdk case
if [ -f "$_sunjbindir/java" ] && [ -x "$_sunjbindir/java" ]; then
        set_java_env "$_sunjbindir";

### openSUSE openjdk-devel package
elif [ -f "$_jdkbindir/java" ] && [ -x "$_jdkbindir/java" ]; then
        set_java_env "$_jdkbindir";

### openSUSE plain openjdk deploying just only jre
elif [ -f "$_jbindir/java" ] && [ -x "$_jbindir/java" ]; then
        set_java_env "$_jbindir";
fi

unset _jbindir _jdkbindir _sunjbindir set_java_env;

nejsem si jistej, jak je to v ubu s /etc/profile.d/, nicmene (muj) kod vyse, lze vlozit do Tveho shellrc ..
musi existovat /usr/java/latest .. ale to by melo bejt vytvorene v ramci instalaci baliku s oracli javou .. z meho prvniho vystupu je patrne, ze jsem si rucne menil pouzitou verzi javy .. mam nainstalovane 3 a "prepinam" se mezi nima prave timto symlinkem ..

Název: Re:Oracle Java
Přispěvatel: maaaji 12 Března 2013, 15:38:26
díky, snažím se tomu porozumět, ale víceméně nevím o čem mluvíš..šlo by to nějak pro blbce?
Název: Re:Oracle Java
Přispěvatel: RRRadek Neužil 12 Března 2013, 16:03:28
http://forum.ubuntu.cz/index.php?topic=60504.msg475247#msg475247 (http://forum.ubuntu.cz/index.php?topic=60504.msg475247#msg475247)

ps: z toho si nic nedělej já NTZ taky občas nerozumím ale je to profík takže mu bezmezně věřím že má pravdu. :))
Název: Re:Oracle Java
Přispěvatel: maaaji 12 Března 2013, 16:13:50
děkuju moc, nedokážeš si představit, jak jsi mi pomohl a to to byly jenom 3 kroky!
vyřešeno, všechno funguje :-*
Název: Re:Oracle Java
Přispěvatel: Roman Vacho 12 Března 2013, 16:15:30
http://www.java.com/en/download/testjava.jsp (http://www.java.com/en/download/testjava.jsp)