Jak mogę zainstalować prawnie zastrzeżoną Javę JDK 6/7/8 lub JRE firmy Sun / Oracle?


559

Chcę zainstalować środowisko JRE firmy Oracle i zaktualizować do najnowszej wersji za pomocą narzędzia Software Updater po ich wydaniu. Czy istnieje pakiet Ubuntu dostarczany przez Canonical lub Oracle?

Przed wydaniem Java 7 postępowałem w ten sposób, aby zainstalować Java 6 .

Ale to nie działa dla Java 7 . Nie ma paczki sun-java7-xxx. Jak zainstalować Javę 7 ?


11
Chciałbym również zauważyć, że korzystanie z OpenJDK jest czymś więcej niż realną alternatywą: jest teraz także implementacją referencyjną .
nickguletskii

11
openJdk nie jest obsługiwany przez aplety banków ani inne oprogramowanie. przykład: Aptana Studio
Elzo Valugi

4
link do „w ten sposób” wydaje się ujawniać ... brak opisu drogi?
rogerdpack

@ElzoValugi Myślę, że możesz potrzebować mrożonej herbaty, aby korzystać z apletów bankowych. Opiera się na OpenJDK.
GKFX

1
@GKFX nie, dla tego konkretnego banku IcedTea nie działał, a bank obsługiwał tylko Javę Oracle. Tymczasem przestali używać Java i myślę, że to była mądra decyzja.
Elzo Valugi,

Odpowiedzi:


881

Jest podobna odpowiedź , w jaki sposób zainstalować JRE 7.

Zainstaluj Java JDK

Sposób ręczny

  • Pobierz 32-bitowy lub 64-bitowy „skompresowany plik binarny” systemu Linux - ma on rozszerzenie „.tar.gz”.

  • Rozpakuj to

    tar -xvf jdk-8-linux-i586.tar.gz (32-bit)

    tar -xvf jdk-8-linux-x64.tar.gz (64-bitowy)

    Pakiet JDK 8 jest rozpakowywany do ./jdk1.8.0katalogu. Uwaga: dokładnie sprawdź nazwę tego folderu, ponieważ wydaje się, że Oracle zmienia to od czasu do czasu przy każdej aktualizacji.

  • Teraz przenieś katalog JDK 8 do /usr/lib

    sudo mkdir -p / usr / lib / jvm
    sudo mv ./jdk1.8.0 / usr / lib / jvm /
    
  • Teraz biegnij

    sudo update-alternatives --install "/ usr / bin / java" "java" "/usr/lib/jvm/jdk1.8.0/bin/java" 1
    sudo update-alternatives --install "/ usr / bin / javac" "javac" "/usr/lib/jvm/jdk1.8.0/bin/javac" 1
    sudo update-alternatives --install "/ usr / bin / javaws" "javaws" "/usr/lib/jvm/jdk1.8.0/bin/javaws" 1
    

    Spowoduje to przypisanie Oracle JDK priorytetu 1, co oznacza, że ​​instalacja innych JDK zastąpi go jako domyślny . Pamiętaj, aby użyć wyższego priorytetu, jeśli chcesz, aby Oracle JDK pozostało domyślnym.

  • Popraw własność pliku i uprawnienia plików wykonywalnych:

    sudo chmod a + x / usr / bin / java
    sudo chmod a + x / usr / bin / javac
    sudo chmod a + x / usr / bin / javaws
    sudo chown -R root: root /usr/lib/jvm/jdk1.8.0
    

    Uwaga: pamiętaj - Java JDK ma wiele innych plików wykonywalnych, które możesz zainstalować podobnie jak powyżej. java, javac, javawsSą prawdopodobnie najczęściej wymagane. Ta odpowiedź zawiera listę innych dostępnych plików wykonywalnych.

  • Biegać

    sudo update-alternatives --config java
    

    Zobaczysz wynik podobny do poniższego - wybierz numer jdk1.0.0 - na przykład 3na tej liście (chyba że nigdy nie zainstalowałeś Java zainstalowanej na twoim komputerze, w takim przypadku pojawi się zdanie „Nie ma nic do skonfigurowania” ):

    $ sudo update-alternatives --config java
    There are 3 choices for the alternative java (providing /usr/bin/java).
    
      Selection    Path                                            Priority   Status
    ------------------------------------------------------------
      0            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      auto mode
      1            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      manual mode
    * 2            /usr/lib/jvm/jdk1.7.0/bin/java                   1         manual mode
      3            /usr/lib/jvm/jdk1.8.0/bin/java                   1         manual mode
    
    Press enter to keep the current choice[*], or type selection number: 3
    update-alternatives: using /usr/lib/jvm/jdk1.8.0/bin/java to provide /usr/bin/java (java) in manual mode
    

    Powtórz powyższe dla:

    sudo update-alternatives --config javac
    sudo update-alternatives --config javaws
    

Uwaga dla użytkowników NetBeans!

Musisz ustawić nowy JDK jako domyślną edycję pliku konfiguracyjnego.


Jeśli chcesz włączyć wtyczkę Mozilla Firefox:

32 bit:
ln -s /usr/lib/jvm/jdk1.8.0/jre/lib/i386/libnpjp2.so ~/.mozilla/plugins/

64 bit:
ln -s /usr/lib/jvm/jdk1.8.0/jre/lib/amd64/libnpjp2.so ~/.mozilla/plugins/

Uwaga: Możesz połączyć wtyczkę ( libnpjp2.so) z /usr/lib/firefox/plugins/instalacją ogólnosystemową ( /usr/lib/firefox-addons/pluginsod 15.04 r.). W przypadku Ubuntu 13.10 ścieżka do katalogu wtyczek to /usr/lib/firefox/browser/plugins/.

W zależności od konfiguracji może być konieczne zaktualizowanie profilu aplikacji dla przeglądarki Firefox (lub innych przeglądarek) w /etc/apparmor.d/abstractions/ubuntu-browsers.d/java:

# Replace the two lines:
#  /usr/lib/jvm/java-*-sun-1.*/jre/bin/java{,_vm} cx -> browser_java,
#  /usr/lib/jvm/java-*-sun-1.*/jre/lib/*/libnp*.so cx -> browser_java,
# with those (or adapt to your new jdk folder name)
/usr/lib/jvm/jdk*/jre/bin/java{,_vm} cx -> browser_java,
/usr/lib/jvm/jdk*/jre/lib/*/libnp*.so cx -> browser_java,

Następnie uruchom ponownie apparmor:

sudo /etc/init.d/apparmor restart

Prosty sposób (przestarzały)

Uwaga: Umowa PPA zespołu WebUpd8 została wycofana ze skutkiem od 16 kwietnia 2019 r. Zatem ta PPA nie zawiera żadnych plików Java. Więcej informacji można znaleźć na stronie PPA w Launchpad . Dlatego ta metoda nie działa i istnieje z powodów hostorycznych.

Najprostszym sposobem na zainstalowanie JDK 7 jest zrobienie tego z OOS Oracle Web Up8 Oracle. Uważa się jednak, że ta umowa PPA jest czasem nieaktualna. Zwróć także uwagę na niebezpieczeństwa związane z używaniem PPA .

Spowoduje to zainstalowanie JDK 7 (który obejmuje Java JDK, JRE i wtyczkę do przeglądarki Java):

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer
# or if you want JDK 8:
# sudo apt-get install oracle-java8-installer
# these commands install Oracle JDK7/8 and set them as default VMs automatically:
# sudo apt-get install oracle-java7-set-default
# sudo apt-get install oracle-java8-set-default

Źródło

NB: Zanim ktoś krzyknie, jest to sprzeczne z licencją redystrybucyjną Oracle - PPA tak naprawdę nie ma Java w osobistym repozytorium. Zamiast tego PPA pobiera bezpośrednio z Oracle i instaluje go.

Sposób skryptu

Jeśli jesteś na nowej instalacji Ubuntu bez wcześniejszych instalacji Java, ten skrypt automatyzuje proces opisany powyżej, jeśli nie chcesz wpisywać tego wszystkiego w konsoli. Pamiętaj, że nadal musisz pobrać Javę ze strony Oracle - linki Oracle nie są wgetprzyjazne.

Przed użyciem tego upewnij się, że ten skrypt znajduje się w tym samym katalogu co .tar.gzpobrane rozszerzenie pliku i że w tym samym folderze nie ma plików rozpoczynających się od jdk-7. Jeśli tak, usuń je tymczasowo z folderu. Pamiętaj, aby skrypt był wykonywalny ( chmod +x <script's file>).

#!/bin/sh

tar -xvf jdk-7*
sudo mkdir /usr/lib/jvm
sudo mv ./jdk1.7* /usr/lib/jvm/jdk1.7.0
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.7.0/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.7.0/bin/javac" 1
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk1.7.0/bin/javaws" 1
sudo chmod a+x /usr/bin/java
sudo chmod a+x /usr/bin/javac
sudo chmod a+x /usr/bin/javaws

Jeśli chcesz zainstalować wtyczkę do przeglądarki Firefox, dodaj ją na końcu skryptu:

mkdir ~/.mozilla/plugins
ln -s /usr/lib/jvm/jdk1.7.0/jre/lib/amd64/libnpjp2.so ~/.mozilla/plugins/
sudo /etc/init.d/apparmor restart

Sprawdź, czy instalacja się powiodła

Możesz sprawdzić, czy instalacja zakończyła się powodzeniem za pomocą następującego polecenia:

java -version

Powinieneś zobaczyć coś takiego

java version "1.8.0"
Java(TM) SE Runtime Environment (build 1.8.0-b132)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b70, mixed mode)

Możesz sprawdzić, czy wtyczka JRE Mozilla się powiodła, korzystając z oficjalnej strony Oracle .


Dla Java 6: Jak zainstalować Oracle JDK 6?


8
Czy konieczne jest wykonanie tego samego procesu, aby go zaktualizować?
Lucio

5
Działa to z powodzeniem dla mnie, instalując 32-bitowy JDK na Ubuntu 12.04LTS, z tym wyjątkiem, że otrzymywałem, bash: /usr/bin/java: No such file or directorygdy próbowałem uruchomić java -version. apt-get install libc6-i386naprawiono problem.
gregmac

4
Sugeruję użycie /usr/local/*zamiast /usr/*do ręcznej instalacji, jak tutaj. W ten sposób to, co instalujesz ręcznie, nie będzie zaśmiecać sprawami zarządzanymi przez menedżera pakietów i sprawi, że ręczna instalacja będzie łatwiejsza w zarządzaniu
Flint

4
Zdecydowanie polecam ręczne wyjście z tego. Jest najbardziej niezawodny. PPA już nie działa, ponieważ Oracle Java jest licencjonowany. Powyższy skrypt zakłada, że ​​używasz kompilatora i środowiska wykonawczego, a ta wersja jest nieaktualna.
JohnMerlino

1
Jak mogę zainstalować stronę man?
Tim

173

Jest podobna odpowiedź , w jaki sposób zainstalować JDK 8

Zainstaluj środowisko JRE

Pobierz 32-bitowy lub 64-bitowy „skompresowany plik binarny” dla systemu Linux - ma rozszerzenie „.tar.gz” i rozpakuj go

tar -xvf jre-7-linux-i586.tar.gz

Pakiet JRE 7 jest rozpakowywany do katalogu ./jre1.7.0. Teraz przenieś katalog JRE 7 do /usr/lib:

sudo mv ./jre1.7.0* /usr/lib/jvm/jre1.7.0

Następnie uruchom następujące polecenie, aby uzyskać listę aktualnie zainstalowanych alternatyw Java.

sudo update-alternatives --config java

Otrzymasz wynik jako:

There are 2 choices for the alternative java (providing /usr/bin/java).

Selection Path Priority Status
————————————————————
* 0 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 auto mode
1 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 manual mode
2 /usr/lib/jvm/java-6-sun/jre/bin/java 63 manual mode

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

Zapamiętaj ostatni numer i naciśnij klawisz Enter, aby wyjść z tego narzędzia, tzn. W tym przykładzie zapamiętaj numer 2.

Jeśli pokazana jest tylko jedna alternatywa, zapamiętaj numer 0.

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jre1.7.0/bin/java 3

Spowoduje to dodanie nowej instalacji środowiska JRE 7 do listy alternatyw, tzn. Użyj zapamiętanej liczby + 1, czyli 3 w powyższym przykładzie. Teraz skonfiguruj Javę, aby korzystała ze środowiska JRE Oracle Java:

sudo update-alternatives --config java

Poniżej zobaczysz wynik podobny - wybierz liczbę jre1.7.0, to znaczy 3:

There are 3 choices for the alternative java (providing /usr/bin/java).

Selection Path Priority Status
————————————————————
* 0 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 auto mode
1 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 manual mode
2 /usr/lib/jvm/java-6-sun/jre/bin/java 63 manual mode
3 /usr/lib/jvm/jre1.7.0/jre/bin/java 3 manual mode

Press enter to keep the current choice[*], or type selection number: 3
update-alternatives: using /usr/lib/jvm/jre1.7.0/jre/bin/java to provide /usr/bin/java (java) in manual mode.

Uwaga: Jeśli nie było wcześniejszej instalacji Java, nowe środowisko JRE będzie domyślnym i nie zobaczysz powyższego.

Sprawdź wersję swojej nowej instalacji JRE 7:

java -version

Powinien produkować

java version 1.7.0
Java(TM) SE Runtime Environment (build 1.7.0-b147)
Java HotSpot(TM) Client VM (build 21.0-b17, mixed mode)

Zainstaluj wtyczkę Firefox / Chrome

W terminalu:

mkdir ~/.mozilla/plugins

Usuń wtyczkę IcedTea, jeśli została zainstalowana.

sudo apt-get remove icedtea6-plugin

Usuń poprzednią wersję wtyczki Java (może być lub nie być obecna):

rm ~/.mozilla/plugins/libnpjp2.so

Teraz możesz zainstalować wtyczkę, tworząc symboliczne łącze (poinformujesz Firefoksa, gdzie znajduje się wtyczka). Do 32-bitowego użytkowania Java

ln -s /usr/lib/jvm/jre1.7.0/lib/i386/libnpjp2.so ~/.mozilla/plugins/

Do 64-bitowego użytkowania Java

ln -s /usr/lib/jvm/jre1.7.0/lib/amd64/libnpjp2.so ~/.mozilla/plugins/

Potwierdź, że środowisko JRE powiodło się, korzystając z oficjalnej strony internetowej Oracle .


10
Po uruchomieniu sudo update-alternatives --config javaotrzymuję następujące dane wyjściowe: There is only one alternative in link group java: /usr/lib/jvm/java-6-openjdk/jre/bin/java Nothing to configure.Co robię źle?
Shoan

7
świetna odpowiedź, dzięki! Zastanawiam się, dlaczego Oracle nie może poświęcić czasu na paczki dla tego ....
bbqchickenrobot

1
@ Shoan, w takim przypadku przejdź do kroku „jeśli pokazana jest tylko jedna alternatywa, zapamiętaj cyfrę 0”
Henrique

3
Dziękuję za tę odpowiedź, instrukcje wyroczni są śmieciami dla Linuksa Nooba, dzięki czemu wszystko stało się łatwiejsze!
David Barker,

1
Podczas gdy ta metoda działa - apt-get nie będzie wiedział, że masz zainstalowaną Javę. Więc próbując zainstalować narzędzia takie jak mrówka, maven itp. Nadal będziesz chciał zainstalować openjdk. Zamiast tego coś takiego jak webupd8.org/2012/01/... działało dla mnie świetnie!
Brad

100

Oto sprawdzone i działające rozwiązanie do instalowania Oracle JDK 7 i wszystkich jego plików, więc „javac” i wszystko inne działa: Jak zainstalować Oracle Java 7 (JDK) w Ubuntu

Oto polecenia (tylko dla wygody):

  1. Pobierz najnowszą wersję Oracle JDK 7 stąd .
  2. Wyodrębnij pobrane archiwum JDK Oracle Java w folderze domowym - należy utworzyć nowy folder o nazwie „jdk1.7.0_03” (dla aktualizacji JDK7 Java 3). Zmień nazwę na „java-7-oracle” i przenieś do / usr / lib / jvm za pomocą następujących poleceń:
cd
sudo mkdir -p /usr/lib/jvm/      #just in case
sudo mv java-7-oracle/ /usr/lib/jvm/

3. Zainstaluj pakiet aktualizacji Java stworzony przez Bruce'a Ingallsa (pakiety dostępne dla Ubuntu 11.10, 11.04, 10.10 i 10.04):

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install update-java

4. Teraz uruchom następującą komendę w terminalu, aby zainstalować JDK Oracle Java:

sudo update-java

Wybierz wersję Java, którą chcesz zainstalować, i ustaw ją jako domyślną

Po kilku minutach JDK Oracle Java powinien zostać pomyślnie zainstalowany na komputerze Ubuntu. Możesz sprawdzić wersję, uruchamiając następujące polecenia w terminalu:

java -version
javac -version

OGŁOSZENIE! Ta część tej odpowiedzi poniżej nie działa, ponieważ Java zmienia sposób, w jaki są uwalniane ich pliki binarne. Zostało takie, jakie jest z przyczyn historycznych.

Aktualizacja Oracle wydała Java 8 (stabilna). Aby go zainstalować, użyj następujących poleceń:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

Więcej informacji @ WebUpd8: Zainstaluj Oracle Java 8 w Ubuntu za pośrednictwem repozytorium PPA [JDK8]


Myślę, że ten skrypt działałby dla Gnome (narzędzia), ale wymaga wielu dodatkowych instalacji jak na maszynie Kubuntu (np. Brak gksudo na Kubuntu).
Marcin Gil

dobre i stosunkowo bezbolesne rozwiązanie na Precise, właśnie zainstalowałem na nim
jdk1.7.0_03

Właśnie użyłem tej metody, aby umieścić jdk1.7.0_03 również na Precise beta 2. Działało, chociaż zgłoszono błąd (najwyraźniej w Zenity); wydaje się, że błąd nie wpłynął na wynik.
Kelley,

1
wypróbowałem to na Ubuntu 13.04 i działa. +1 dzięki
mamdouh alramadan

1
Dodaj informację, że jeśli nie chcemy usuwać żadnego istniejącego jdk, powinniśmy pominąć pierwsze okno dialogowe, które usuwa istniejące jdk
Anwar

94

OGŁOSZENIE! To rozwiązanie już nie działa, ponieważ Java zmienia sposób, w jaki są uwalniane ich pliki binarne. W rezultacie ta odpowiedź nie jest już ważna. Zostało takie, jakie jest z przyczyn historycznych.

From http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html :

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-jdk7-installer

15
Zastanawiam się, dlaczego większość ludzi ma ochotę skorzystać z pierwszej odpowiedzi, która jest dość złożona i wymaga dużo pracy ręcznej, takiej jak pobranie instalatora na komputer i przeniesienie go na serwer. Twoja odpowiedź jest prosta i skuteczna !!! TX
sorin,

4
@SorinSbarnea Niektóre osoby nie lubią korzystać z repozytoriów stron trzecich, ponieważ nie zawsze są one aktualizowane lub dostępne online.
umop aplsdn

Na serwerze Ubuntu musiałem użyć polecenia „sudo apt-get install python-software-properties”, aby uzyskać polecenie add-apt-repository.
Mark Butler

@SorinSbarnea, ponieważ repozytorium jest zasadniczo nieaktualne
dstarh

1
Zauważ, że Webupd8 PPA zawiera również skrypt, który ustawi Oracle Java jako domyślny (przydatny, jeśli masz wiele JRE / JDK), zainstaluj go przy pomocy sudo apt-get install oracle-java8-set-default. Pamiętaj również, że ta odpowiedź jest nieco nieaktualna, prawdopodobnie powinieneś instalować oracle-java8-installerte dni.
JonasCz

39

Właśnie w ten sposób zainstalowałem go w Oneiric. To będzie dość długa odpowiedź, ale dla mnie zadziałała.

Pobierz najnowszą wersję Java SDK 1.7.0 z Oracle. Następnie wypakuj go do / usr / lib / jvm :

cd /usr/lib/jvm/
sudo tar -xvzf ~/jdk-7-linux-x64.tar.gz
sudo mv jdk1.7.0 java-7-oracle
sudo ln -s java-7-oracle java-1.7.0-oracle

Następnie utworzyłem plik .java-1.7.0-oracle.jinfo w / usr / lib / jvm z następującą zawartością:

alias=java-7-oracle
priority=100
section=non-free

jre ControlPanel /usr/lib/jvm/java-7-oracle/jre/bin/ControlPanel
jre java /usr/lib/jvm/java-7-oracle/jre/bin/java
jre java_vm /usr/lib/jvm/java-7-oracle/jre/bin/java_vm
jre javaws /usr/lib/jvm/java-7-oracle/jre/bin/javaws
jre jcontrol /usr/lib/jvm/java-7-oracle/jre/bin/jcontrol
jre keytool /usr/lib/jvm/java-7-oracle/jre/bin/keytool
jre pack200 /usr/lib/jvm/java-7-oracle/jre/bin/pack200
jre policytool /usr/lib/jvm/java-7-oracle/jre/bin/policytool
jre rmid /usr/lib/jvm/java-7-oracle/jre/bin/rmid
jre rmiregistry /usr/lib/jvm/java-7-oracle/jre/bin/rmiregistry
jre unpack200 /usr/lib/jvm/java-7-oracle/jre/bin/unpack200
jre orbd /usr/lib/jvm/java-7-oracle/jre/bin/orbd
jre servertool /usr/lib/jvm/java-7-oracle/jre/bin/servertool
jre tnameserv /usr/lib/jvm/java-7-oracle/jre/bin/tnameserv
jre jexec /usr/lib/jvm/java-7-oracle/jre/lib/jexec
jdk appletviewer /usr/lib/jvm/java-7-oracle/bin/appletviewer
jdk apt /usr/lib/jvm/java-7-oracle/bin/apt
jdk extcheck /usr/lib/jvm/java-7-oracle/bin/extcheck
jdk idlj /usr/lib/jvm/java-7-oracle/bin/idlj
jdk jar /usr/lib/jvm/java-7-oracle/bin/jar
jdk jarsigner /usr/lib/jvm/java-7-oracle/bin/jarsigner
jdk java-rmi.cgi /usr/lib/jvm/java-7-oracle/bin/java-rmi.cgi
jdk javac /usr/lib/jvm/java-7-oracle/bin/javac
jdk javadoc /usr/lib/jvm/java-7-oracle/bin/javadoc
jdk javah /usr/lib/jvm/java-7-oracle/bin/javah
jdk javap /usr/lib/jvm/java-7-oracle/bin/javap
jdk jconsole /usr/lib/jvm/java-7-oracle/bin/jconsole
jdk jdb /usr/lib/jvm/java-7-oracle/bin/jdb
jdk jhat /usr/lib/jvm/java-7-oracle/bin/jhat
jdk jinfo /usr/lib/jvm/java-7-oracle/bin/jinfo
jdk jmap /usr/lib/jvm/java-7-oracle/bin/jmap
jdk jps /usr/lib/jvm/java-7-oracle/bin/jps
jdk jrunscript /usr/lib/jvm/java-7-oracle/bin/jrunscript
jdk jsadebugd /usr/lib/jvm/java-7-oracle/bin/jsadebugd
jdk jstack /usr/lib/jvm/java-7-oracle/bin/jstack
jdk jstat /usr/lib/jvm/java-7-oracle/bin/jstat
jdk jstatd /usr/lib/jvm/java-7-oracle/bin/jstatd
jdk native2ascii /usr/lib/jvm/java-7-oracle/bin/native2ascii
jdk rmic /usr/lib/jvm/java-7-oracle/bin/rmic
jdk schemagen /usr/lib/jvm/java-7-oracle/bin/schemagen
jdk serialver /usr/lib/jvm/java-7-oracle/bin/serialver
jdk wsgen /usr/lib/jvm/java-7-oracle/bin/wsgen
jdk wsimport /usr/lib/jvm/java-7-oracle/bin/wsimport
jdk xjc /usr/lib/jvm/java-7-oracle/bin/xjc
plugin xulrunner-1.9-javaplugin.so /usr/lib/jvm/java-7-oracle/jre/lib/amd64/libnpjp2.so
plugin mozilla-javaplugin.so /usr/lib/jvm/java-7-oracle/jre/lib/amd64/libnpjp2.so

Następnie musisz poinformować o alternatywach aktualizacji o wszystkich nowych rzeczach:

$ sudo -sH
Password:
# update-alternatives --quiet --install /usr/lib/xulrunner-addons/plugins/libjavaplugin.so xulrunner-1.9-javaplugin.so /usr/lib/jvm/java-7-oracle/jre/lib/amd64/libnpjp2.so 100
# update-alternatives --quiet --install /usr/lib/mozilla/plugins/libjavaplugin.so mozilla-javaplugin.so /usr/lib/jvm/java-7-oracle/jre/lib/amd64/libnpjp2.so 100
# update-alternatives --quiet --install /usr/bin/appletviewer appletviewer /usr/lib/jvm/java-7-oracle/bin/appletviewer 100 --slave /usr/share/man/man1/appletviewer.1 appletviewer.1 /usr/lib/jvm/java-7-oracle/man/man1/appletviewer.1
# update-alternatives --quiet --install /usr/bin/apt apt /usr/lib/jvm/java-7-oracle/bin/apt 100 --slave /usr/share/man/man1/apt.1 apt.1 /usr/lib/jvm/java-7-oracle/man/man1/apt.1
# update-alternatives --quiet --install /usr/bin/extcheck extcheck /usr/lib/jvm/java-7-oracle/bin/extcheck 100 --slave /usr/share/man/man1/extcheck.1 extcheck.1 /usr/lib/jvm/java-7-oracle/man/man1/extcheck.1
# update-alternatives --quiet --install /usr/bin/idlj idlj /usr/lib/jvm/java-7-oracle/bin/idlj 100 --slave /usr/share/man/man1/idlj.1 idlj.1 /usr/lib/jvm/java-7-oracle/man/man1/idlj.1
# update-alternatives --quiet --install /usr/bin/jar jar /usr/lib/jvm/java-7-oracle/bin/jar 100 --slave /usr/share/man/man1/jar.1 jar.1 /usr/lib/jvm/java-7-oracle/man/man1/jar.1
# update-alternatives --quiet --install /usr/bin/jarsigner jarsigner /usr/lib/jvm/java-7-oracle/bin/jarsigner 100 --slave /usr/share/man/man1/jarsigner.1 jarsigner.1 /usr/lib/jvm/java-7-oracle/man/man1/jarsigner.1
# update-alternatives --quiet --install /usr/bin/javac javac /usr/lib/jvm/java-7-oracle/bin/javac 100 --slave /usr/share/man/man1/javac.1 javac.1 /usr/lib/jvm/java-7-oracle/man/man1/javac.1
# update-alternatives --quiet --install /usr/bin/javadoc javadoc /usr/lib/jvm/java-7-oracle/bin/javadoc 100 --slave /usr/share/man/man1/javadoc.1 javadoc.1 /usr/lib/jvm/java-7-oracle/man/man1/javadoc.1
# update-alternatives --quiet --install /usr/bin/javah javah /usr/lib/jvm/java-7-oracle/bin/javah 100 --slave /usr/share/man/man1/javah.1 javah.1 /usr/lib/jvm/java-7-oracle/man/man1/javah.1
# update-alternatives --quiet --install /usr/bin/javap javap /usr/lib/jvm/java-7-oracle/bin/javap 100 --slave /usr/share/man/man1/javap.1 javap.1 /usr/lib/jvm/java-7-oracle/man/man1/javap.1
# update-alternatives --quiet --install /usr/bin/jconsole jconsole /usr/lib/jvm/java-7-oracle/bin/jconsole 100 --slave /usr/share/man/man1/jconsole.1 jconsole.1 /usr/lib/jvm/java-7-oracle/man/man1/jconsole.1
# update-alternatives --quiet --install /usr/bin/jdb jdb /usr/lib/jvm/java-7-oracle/bin/jdb 100 --slave /usr/share/man/man1/jdb.1 jdb.1 /usr/lib/jvm/java-7-oracle/man/man1/jdb.1
# update-alternatives --quiet --install /usr/bin/jhat jhat /usr/lib/jvm/java-7-oracle/bin/jhat 100 --slave /usr/share/man/man1/jhat.1 jhat.1 /usr/lib/jvm/java-7-oracle/man/man1/jhat.1
# update-alternatives --quiet --install /usr/bin/jinfo jinfo /usr/lib/jvm/java-7-oracle/bin/jinfo 100 --slave /usr/share/man/man1/jinfo.1 jinfo.1 /usr/lib/jvm/java-7-oracle/man/man1/jinfo.1
# update-alternatives --quiet --install /usr/bin/jmap jmap /usr/lib/jvm/java-7-oracle/bin/jmap 100 --slave /usr/share/man/man1/jmap.1 jmap.1 /usr/lib/jvm/java-7-oracle/man/man1/jmap.1
# update-alternatives --quiet --install /usr/bin/jps jps /usr/lib/jvm/java-7-oracle/bin/jps 100 --slave /usr/share/man/man1/jps.1 jps.1 /usr/lib/jvm/java-7-oracle/man/man1/jps.1
# update-alternatives --quiet --install /usr/bin/jrunscript jrunscript /usr/lib/jvm/java-7-oracle/bin/jrunscript 100 --slave /usr/share/man/man1/jrunscript.1 jrunscript.1 /usr/lib/jvm/java-7-oracle/man/man1/jrunscript.1
# update-alternatives --quiet --install /usr/bin/jsadebugd jsadebugd /usr/lib/jvm/java-7-oracle/bin/jsadebugd 100 --slave /usr/share/man/man1/jsadebugd.1 jsadebugd.1 /usr/lib/jvm/java-7-oracle/man/man1/jsadebugd.1
# update-alternatives --quiet --install /usr/bin/jstack jstack /usr/lib/jvm/java-7-oracle/bin/jstack 100 --slave /usr/share/man/man1/jstack.1 jstack.1 /usr/lib/jvm/java-7-oracle/man/man1/jstack.1
# update-alternatives --quiet --install /usr/bin/jstat jstat /usr/lib/jvm/java-7-oracle/bin/jstat 100 --slave /usr/share/man/man1/jstat.1 jstat.1 /usr/lib/jvm/java-7-oracle/man/man1/jstat.1
# update-alternatives --quiet --install /usr/bin/jstatd jstatd /usr/lib/jvm/java-7-oracle/bin/jstatd 100 --slave /usr/share/man/man1/jstatd.1 jstatd.1 /usr/lib/jvm/java-7-oracle/man/man1/jstatd.1
# update-alternatives --quiet --install /usr/bin/native2ascii native2ascii /usr/lib/jvm/java-7-oracle/bin/native2ascii 100 --slave /usr/share/man/man1/native2ascii.1 native2ascii.1 /usr/lib/jvm/java-7-oracle/man/man1/native2ascii.1
# update-alternatives --quiet --install /usr/bin/rmic rmic /usr/lib/jvm/java-7-oracle/bin/rmic 100 --slave /usr/share/man/man1/rmic.1 rmic.1 /usr/lib/jvm/java-7-oracle/man/man1/rmic.1
# update-alternatives --quiet --install /usr/bin/schemagen schemagen /usr/lib/jvm/java-7-oracle/bin/schemagen 100 --slave /usr/share/man/man1/schemagen.1 schemagen.1 /usr/lib/jvm/java-7-oracle/man/man1/schemagen.1
# update-alternatives --quiet --install /usr/bin/serialver serialver /usr/lib/jvm/java-7-oracle/bin/serialver 100 --slave /usr/share/man/man1/serialver.1 serialver.1 /usr/lib/jvm/java-7-oracle/man/man1/serialver.1
# update-alternatives --quiet --install /usr/bin/wsgen wsgen /usr/lib/jvm/java-7-oracle/bin/wsgen 100 --slave /usr/share/man/man1/wsgen.1 wsgen.1 /usr/lib/jvm/java-7-oracle/man/man1/wsgen.1
# update-alternatives --quiet --install /usr/bin/wsimport wsimport /usr/lib/jvm/java-7-oracle/bin/wsimport 100 --slave /usr/share/man/man1/wsimport.1 wsimport.1 /usr/lib/jvm/java-7-oracle/man/man1/wsimport.1
# update-alternatives --quiet --install /usr/bin/xjc xjc /usr/lib/jvm/java-7-oracle/bin/xjc 100 --slave /usr/share/man/man1/xjc.1 xjc.1 /usr/lib/jvm/java-7-oracle/man/man1/xjc.1
# update-alternatives --quiet --install /usr/bin/java-rmi.cgi java-rmi.cgi /usr/lib/jvm/java-7-oracle/bin/java-rmi.cgi 100
# update-alternatives --quiet --install /usr/bin/ControlPanel ControlPanel /usr/lib/jvm/java-7-oracle/jre/bin/ControlPanel 100
# update-alternatives --quiet --install /usr/bin/java java /usr/lib/jvm/java-7-oracle/jre/bin/java 100
# update-alternatives --quiet --install /usr/bin/java_vm java_vm /usr/lib/jvm/java-7-oracle/jre/bin/java_vm 100
# update-alternatives --quiet --install /usr/bin/javaws javaws /usr/lib/jvm/java-7-oracle/jre/bin/javaws 100
# update-alternatives --quiet --install /usr/bin/jcontrol jcontrol /usr/lib/jvm/java-7-oracle/jre/bin/jcontrol 100
# update-alternatives --quiet --install /usr/bin/keytool keytool /usr/lib/jvm/java-7-oracle/jre/bin/keytool 100
# update-alternatives --quiet --install /usr/bin/pack200 pack200 /usr/lib/jvm/java-7-oracle/jre/bin/pack200 100
# update-alternatives --quiet --install /usr/bin/policytool policytool /usr/lib/jvm/java-7-oracle/jre/bin/policytool 100
# update-alternatives --quiet --install /usr/bin/rmid rmid /usr/lib/jvm/java-7-oracle/jre/bin/rmid 100
# update-alternatives --quiet --install /usr/bin/rmiregistry rmiregistry /usr/lib/jvm/java-7-oracle/jre/bin/rmiregistry 100
# update-alternatives --quiet --install /usr/bin/unpack200 unpack200 /usr/lib/jvm/java-7-oracle/jre/bin/unpack200 100
# update-alternatives --quiet --install /usr/bin/orbd orbd /usr/lib/jvm/java-7-oracle/jre/bin/orbd 100
# update-alternatives --quiet --install /usr/bin/servertool servertool /usr/lib/jvm/java-7-oracle/jre/bin/servertool 100
# update-alternatives --quiet --install /usr/bin/tnameserv tnameserv /usr/lib/jvm/java-7-oracle/jre/bin/tnameserv 100
# update-alternatives --quiet --install /usr/bin/jexec jexec /usr/lib/jvm/java-7-oracle/jre/lib/jexec 100

Teraz możesz użyć alternatywnych aktualizacji, aby wybrać nowo zainstalowany pakiet Java SDK.

# update-alternatives --config java              # Select java-1.7.0-oracle
# update-java-alternatives --set java-1.7.0-oracle
# exit
$

Działa to dla mnie, jeśli istnieje bardziej elegancki sposób (bez korzystania z umów PPA innych firm), chętnie o tym usłyszę. Nadal muszę przetestować Firefoksa, jeśli mogę w nim uruchomić Javę.


1
Działa świetnie, z wyjątkiem ostatniego polecenia, które powoduje błąd (chociaż wszystko inne działa, nawet w przeglądarce Firefox / Chrome). Wygląda na to, że pochodzi z domyślnej instalacji OpenJDK6 z Oneiric. "Update-alternatives: błąd: brak alternatyw dla -javaplugin.so." W ukrytym pliku .java.1.6.0.jinfo wydaje się istnieć alternatywa dla -javaplugin.so. Czy mamy z tym zrobić trzecią alternatywę dla libnpjp2.so?
Nicholi

2
Postanowiłem umieścić kroki wymienione powyżej przez BigWhale w prostym skrypcie powłoki. Jedynym ręcznym krokiem jest pobranie 64-bitowego pliku tar.gz ze strony Oracle. Spójrz na instrukcje tutaj.
Julius

1
Jest to jedyne rozwiązanie, które pokazuje, jak dodać strony podręcznika!
DavidG

@DavidG Alien Andrei również działa bezbłędnie
Anwar

1
Również to rozwiązanie dotyczy 64-bitowego systemu Ubuntu. dla wersji 32-bitowej powinniśmy i386zamiastamd64
Anwar

26

ZAKTUALIZOWANA ODPOWIEDŹ:

Sugeruję użycie jednego z instalatorów z ppa webupd8team w następujący sposób:

1) Wprowadź te 2 polecenia w terminalu, aby dodać ten PPA i zaktualizować listę pakietów:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update

2) Wprowadź jedną (lub więcej) z tych komend, aby zainstalować wymagane oprogramowanie Java:

  • sudo apt-get install oracle-java6-installer
  • sudo apt-get install oracle-java7-installer
  • sudo apt-get install oracle-java8-installer
  • sudo apt-get install oracle-java9-installer

3) Po załadowaniu odpowiedniego skryptu instalatora Java, a następnie pobraniu i zainstalowaniu zastrzeżonych pakietów Java, można również wprowadzić następującą komendę, aby sprawdzić wynik instalacji:

java -version

Powinieneś wtedy uzyskać wynik końcowy (dla stabilnej wersji java8) w następujący sposób:

java version "1.8.0_72"
Java(TM) SE Runtime Environment (build 1.8.0_72-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.72-b15, mixed mode)

Więcej informacji: http://www.webupd8.org/2012/09/install-oracle-java-8-in-ubuntu-via-ppa.html

Uwaga: Te pakiety zawierają Oracle Java JDK, który obejmuje Java JDK, JRE i wtyczkę do przeglądarki Java. A PPA webupd8team / java zawiera tylko te instalatory, które po prostu łączą się z witryną pobierania Oracle Java i instalują najnowszą wersję JDK.


1
Dziękuję za odpowiedź. Tylko w ten sposób mój Chrome JRE działał!
Fatih Karatana

czy instaluje tylko JRE lub cały JDK, jeśli cały JDK, to w jaki sposób ograniczyć instalację tylko do JRE?
Rajat Gupta,

czy ten typ instalacji zapewnia mi automatyczne aktualizacje, gdy są one wypuszczane i czy nie dodam tego ppa, nieświadomie dodając inne rodzaje oprogramowania do mojego serwera?
Rajat Gupta,

4
Spowoduje to zainstalowanie JDK : „Ten pakiet zawiera Oracle Java JDK 7 (który zawiera Java JDK, JRE i wtyczkę przeglądarki Java). Jednak nie można tylko zainstalować Oracle JRE - PPA zapewnia tylko pełny pakiet Oracle JDK7”. ref
kiri

16

Doceniam wszystkie poprzednie odpowiedzi. Chcę dodać tę odpowiedź, aby uprościć czynności wykonywane przez www.webupd8.org i instalacji w ciągu 2-5 minut .

Ta instalacja obejmuje:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer

To wszystko!! Teraz, aby sprawdzić wersję Java

java -version

Wyjście będzie jak

java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
Java HotSpot(TM) Server VM (build 23.25-b01, mixed mode

Może pojawić się nowa wersja, a następnie możesz ją po prostu zaktualizować za pomocą tego polecenia:

sudo update-java-alternatives -s java-7-oracle

Konfigurowanie zmiennych środowiskowych

sudo apt-get install oracle-java7-set-default

Aby uzyskać więcej informacji, sprawdź Zainstaluj Oracle Java 7 w Ubuntu za pośrednictwem repozytorium PPA .


3
2-5 minut? zajęło 77 minut

3
Niezłe rozwiązanie. Należy to ocenić wyżej. Czas instalacji może potrwać dłużej niż 5 minut w zależności od szybkości Internetu (pobieranie wynosi ~ 70 MB). Jeśli chodzi o ustawienie domyślne maszynę Java, wolę: sudo update-alternatives --config java.
landroni

15

To rozwiązanie zapewni czyste pakiety zbudowane tak, jak były dostarczane z Ubuntu przed pojawieniem się Oracle.

Odpowiedź

Najpierw odpowiedź, potem wyjaśnienie. Otwórz terminal i skopiuj i wklej następujący wiersz po wierszu.

wget https://raw.githubusercontent.com/ladios/oab-java6/master/oab-java.sh -O oab-java.sh
chmod +x oab-java.sh
sudo ./oab-java.sh

Spowoduje to zbudowanie oficjalnych pakietów sun-java6- * i udostępnienie ich w centrum oprogramowania. Jeśli chcesz także pakietów oracle-java7- *, uruchom skrypt w następujący sposób:

sudo ./oab-java.sh -7

Teraz możesz zainstalować pakiety za pomocą preferowanego menedżera pakietów.

Wyjaśnienie

Kiedy Oracle zmieniło licencję dystrybucyjną dla Javy, dystrybucje Linuksa nie mogły już aktualizować oficjalnych pakietów. Użytkownik Github rraptorr wziął skrypt Debiana, który był używany do budowy pakietów, i zmodyfikował go, aby działał ze zaktualizowanymi plikami do pobrania z Oracle. Obecnie udostępnia skrypty do pakowania dla SUN Java6 i Oracle Java7 .

Oab.java.sh skrypt jest po prostu otoki, który automatycznie pobiera aktualną wersję, tworzy pakiety i dodaje je do lokalnego repozytorium.

Dalsze uwagi

Pakiety utworzone i zainstalowane przy użyciu tej metody nie będą automatycznie otrzymywać aktualizacji - tylko po ponownym uruchomieniu skryptu. Możesz to obejść, tworząc cronjob, który regularnie uruchamia ten skrypt. Najbezpieczniejszym sposobem na to jest użycie anakronu poprzez umieszczenie skryptu w /etc/cron.daily .

wget https://raw.githubusercontent.com/ladios/oab-java6/master/oab-java.sh -O /root/oab-java.sh
chmod +x /root/oab-java.sh
ln -s /root/oab-java.sh /etc/cron.daily/oab-java

Teraz Twoje oficjalne pakiety Java będą zawsze aktualne.


1
Miałem tyle problemów z tym skryptem -_-
qodeninja,

@qodeninja, jak co? Nigdy nie miałem problemu z tym skryptem. Wykonanie powyższej 3 linii na pewno będzie działać na każdym komputerze Ubuntu, jeśli nie jest zepsuty.
mniess

Mam nową instancję linode systemu Ubuntu 10.04 i próbowałem zainstalować Jre 7 za pomocą tego skryptu. Skrypt zawiesiłby się zbyt długo z powodu brakujących zależności. Następnie musiałem zatrzymać skrypt i sam zainstalować zależności za pomocą apt-get. Nawet po tym, jak wszystko zainstalowałem, skrypt nadal nie działa.
qodeninja

Skrypt naprawdę nie robi nic specjalnego. Wygląda na to, że coś jest nie tak z twoim urządzeniem. Używam (i używam) tego od 8.04 do 12.04 i nigdy nie miałem problemów. Właśnie próbowałem tego na moim serwerze 10.04, który jest prawie waniliowy, i działa również. Tak jak powinno, ponieważ ten skrypt nie robi nic poza używaniem starych skryptów kompilacji Debiana, które pakery wykorzystywały do ​​dostarczania sun-java * dla debiana (i Ubuntu).
mniess

Na Lubuntu 15.04 Zaczyna się dobrze, ale po chwili dostajędebian/rules:67: recipe for target 'get-orig-source' failed make: *** [get-orig-source] Error 22 make: Leaving directory '/var/local/oab/src' 11678's retcode: 2 failed
rubo77

10

Działa to z moimi potrzebami programistycznymi, aby móc uruchomić / skompilować wersję 1.6 lub 1.7. Wcześniej korzystałem z wersji 1.6 z pakietu apt Ubuntu.

  1. Pobierz 1.7 gzip .
  2. Wypakuj do folderu
  3. Zaktualizuj JAVA_HOME i PATH w pliku bash

    JAVA_HOME=/opt/java/jdk1.7.0_25
    export JAVA_HOME
    
    PATH=$JAVA_HOME/bin:$PATH
    export PATH

9

Na AMD64 musisz nieco zmodyfikować polecenie, aby utworzyć łącze symboliczne:

ln -s /usr/lib/jvm/jre1.7.0/lib/amd64/libnpjp2.so ~/.mozilla/plugins/

zmień tylko i386na amd64.


Dobry krzyk! Nie działał na moim 12.04 64-bitowym, dopóki nie przeczytałem twojej odpowiedzi. Dzięki!
Scaine,

2
-1. Ta odpowiedź jest całkowicie poza kontekstem.
landroni

1
To nie jest odpowiedź na pytanie. Zamiast tego powinien to być komentarz
Anwar

7

Aby udostępnić go wszystkim użytkownikom:

sudo ln -s /usr/lib/jvm/jre1.7.0/lib/i386/libnpjp2.so /usr/lib/mozilla/plugins/

dla x86_64:

sudo ln -s /usr/lib/jvm/jre1.7.0/lib/amd64/libnpjp2.so /usr/lib/mozilla/plugins/

1
Wielkie dzięki! Tego właśnie brakowało mojej Javie do pracy z Firefoksem.
ThiagoPonte,

7

Pobierz JDK z Oracle / Sun; pobierz Java JDK z:

http://www.oracle.com/technetwork/java/javase/overview/index.html

Z ~łatwością pobierz lub przenieś pobrany plik do katalogu domowego .

Uwaga:

  • Nie martw się o to, co JDK do pobrania dla JEE.

  • Pomiń kopiowanie monitu „użytkownik @ host: ~ $”.

  • Naciśnij Enter po każdym poleceniu.

Uruchom w terminalu ..

user@host:~$ sudo mkdir -p /usr/lib/jvm/
user@host:~$ sudo mv jdk-7u4-linux-i586.tar.gz /usr/lib/jvm/
user@host:~$ cd /usr/lib/jvm/
user@host:~$ sudo tar zxvf jdk-7u4-linux-i586.tar.gz

Teraz włącz Javę (uruchamiając indywidualnie):

user@host:~$ sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.7.0_04/bin/java" 1
user@host:~$ sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.7.0_04/bin/javac" 1
user@host:~$ sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk1.7.0_04/bin/javaws" 1

Zamknij wszystkie przeglądarki.

Utwórz folder wtyczek Mozilla w swoim katalogu domowym:

user@host:~$ mkdir ~/.mozilla/plugins/

Utwórz symboliczny link do folderu wtyczek Mozilla. W systemach 64-bitowych zamień „i386” na „amd64”:

user@host:~$ ln -s /usr/lib/jvm/jdk1.7.0/jre/lib/i386/libnpjp2.so ~/.mozilla/plugins/

Testowanie:

user@host:~$ java -version

Wynik:

java version "1.7.0_04"
Java(TM) SE Runtime Environment (build 1.7.0_04-b20)
Java HotSpot(TM) Server VM (build 23.0-b21, mixed mode)

Testowanie:

user@host:~$ javac -version

Wynik:

javac 1.7.0_04

Sprawdź środowisko JRE pod adresem http://java.com/en/download/installed.jsp .


6

Napisałem wpis na blogu z bardzo szczegółowym wyjaśnieniem, jak zainstalować Javę 7 na Natty, zarówno OpenJDK, jak i Sun:

http://brunoreis.com/tech/installing-java-ubuntu-natty/

OpenJDK jest instalowany z PPA dostarczonego przez Damiena Lecana, a Sun's jest instalowany ręcznie. O ile wiadomo, do tej pory jest to jedyny przewodnik, który jest poprawny zarówno w krokach, jak i w wyjaśnieniu.

Jeśli znajdziesz jakieś problemy, opublikuj tam komentarz, a ja postaram się go naprawić.

Powodzenia.


18
proszę nie wysyłać linków do treści zewnętrznych jako odpowiedzi - podaj najbardziej odpowiednie części w swojej odpowiedzi. Powodem jest to, że linki zewnętrzne mogą zniknąć w przyszłości - dlatego też inni nie będą mogli odwoływać się do odpowiedzi w przyszłości. Dzięki.
fossfreedom

Chociaż teoretycznie może to odpowiedzieć na pytanie, lepiej byłoby zawrzeć tutaj istotne części odpowiedzi i podać odnośnik.
Kevin Bowen,

5

Proponuję jeden sposób, aby ułatwić instalację Java 7 Oracle.

Ponieważ Ubuntu nie zapewnia pakietów Oracle 7 Java, udostępniam kolekcję pakietów Ubuntu w moim własnym repozytorium pakietów.

Pakiety są w pełni zintegrowane w sposób Ubuntu do obsługi Java. Będziesz mógł wybrać alternatywę Oracle 7 dla Java 7 za pomocą standardowych narzędzi: update-alternative lub update-java-alternative.

Strona główna mojego wkładu to: http://www.arakhne.org/jdk/index.html

Aby uzyskać pakiety, wystarczy dodać moje repozytorium pakietów do konfiguracji systemu. Proces ten wyjaśniono w http://www.arakhne.org/ubuntu.html

Stéphane.


10
... po prostu przyjacielska rada - sprawdź licencję redystrybucyjną Oracle ... nie chcesz, żeby ścigali cię prawnicy Oracle!
fossfreedom

1
Nie zamieszczaj duplikatów odpowiedzi na różne pytania. To po prostu tworzy więcej pracy dla moderatorów. Jeśli pytania są tak podobne, że na każdym z nich działa ta sama odpowiedź, to późniejsze z nich jest prawdopodobnie duplikatem i powinno zostać oznaczone jako takie.
RolandiXor


4

Dla osób mieszkających w Syrii, na Kubie, w Libii, Korei lub w dowolnym kraju, w którym Oracle zakazuje świadczenia usług, jest to skuteczny sposób na zainstalowanie Oracle JDK 8.

  1. Korzystając z PROXY, przejdź do tego łącza i zaakceptuj warunki, a następnie pobierz plik tar.gz odpowiedni dla twojego systemu (32- lub 64-bitowy).
  2. Przenieś ten archiwum do katalogu Pobrane w folderze domowym.
  3. uruchom ten skrypt jako sudo:


if [[ $UID != 0 ]]; then
  echo "This script neeeds to be run with sudo, like this:"
  echo -e "\n  sudo $0 $*\n"
  exit 1
fi
apt-get install python-software-properties
add-apt-repository ppa:webupd8team/java
apt-get update
apt-get install oracle-java8-installer
if [ ! -f $HOME/Downloads/jdk-8u5-linux-*.tar.gz ]; then
  echo "The JDK tar.gz file was not found in $HOME/Downloads. please download it, put it in $HOME/Downloads and run again."
  exit 1
fi
cp ~/Downloads/jdk-8u5-linux-*.tar.gz /var/cache/oracle-jdk8-installer/
apt-get install oracle-java8-installer
apt-get install oracle-java8-set-default
java -version

3

Aby zainstalować 32-bitową wersję Java na 64-bitowym Ubuntu:

Otwórz okno terminala ( Ctrl+ Alt+ Tjest najszybszą metodą, jeśli nie wiesz) i wpisz następujące informacje, aby zainstalować:

sudo add-apt-repository "deb http://download.tuxfamily.org/arakhne/ubuntu precise-arakhne universe"

wget http://download.tuxfamily.org//arakhne/public.key -O - | sudo apt-key add -
apt-get install ia32-oracle-java7-jre

3

Dla mnie jest trochę inaczej. W przypadku systemu Ubuntu 12.04 LTS Precise (komputer stacjonarny):

  1. Pobieranie jre-*.tar.gz

  2. tar -zxvf jre-*.tar.gz

  3. mkdir /usr/lib/jvm/

  4. mv jre* /usr/lib/jvm/

  5. ln -s /usr/lib/jvm/jre*/bin/java /usr/bin/

To wszystko.

Aby upewnić się, że jest poprawny:

java -version

Jeśli chcesz dodać wtyczkę do przeglądarki Firefox lub Chrome:

  1. mkdir ~/.mozilla/plugins

  2. ln -s /usr/lib/jvm/jre*/lib/i386/libnpjp2.so ~/.mozilla/plugins/

Uwaga specjalna: jeśli masz świeżą 64-bitową instalację, podczas działania może wystąpić następujący błąd java -version

-bash: ./java: No such file or directory

Jest to spowodowane zależnością od libc6-i386pakietu, która nie jest domyślnie dołączana do 64-bitowego systemu Ubuntu Desktop 12.04 LTS. Aby zainstalować ten pakiet, uruchom: sudo apt-get install libc6-i386


1
Instrukcje, które podajesz, aby dodać wtyczkę do przeglądarki Firefox lub Chrome, w ogóle nie wpływają na Chrome. Chrome nie korzysta z zawartości .mozillafolderu.
Eliah Kagan

3

Oto skrypt bash, który może pomóc w konfiguracji alternatyw Java:

#!/bin/bash

BIN_HOME="/usr/bin"
JVM_BIN_HOME="/usr/lib/jvm/jdk1.7.0_21/bin"

UPDATE_CMD="update-alternatives"
UPDATE_OPT="--install"
UPDATE_DEFAULT_PRIORITY=10

echo "Installing alternatives for Oracle JDK."
#echo "JAVA_BIN_HOME=$JAVA_BIN_HOME"
#echo "BIN_HOM=$BIN_HOME"
echo "All cmds in \"$JVM_BIN_HOME\" will be installed in \"$BIN_HOME\" with \"$UPDATE_CMD\""
echo

# 
# Calls update-alternatives.
# Param 1 is the java cmd name and optionally param 2 is the priority
# See 'man update-alternatives' for more information.
# 
function update_alt() {
    if [ -z "$2" -o "${2}xxx" = "xxx" ]; then
    echo "using default priority: $UPDATE_DEFAULT_PRIORITY"
    PRIORITY=$UPDATE_DEFAULT_PRIORITY
    else
    PRIORITY=$2
    fi

    EXEC="$UPDATE_CMD $UPDATE_OPT $BIN_HOME/$1 $1 $JVM_BIN_HOME/$1 $PRIORITY"
    echo $EXEC
    $EXEC
    return 0
}

for bin in $JVM_BIN_HOME/*
do
    if [ -x $bin ]; then
    cmd=$(basename $bin)

    if [ -x $BIN_HOME/$cmd ]; then
        echo "notice: alternative already installed, \"$cmd\""
        continue # Skip installation of alternative.
    fi

    echo "install alternative: $cmd"
    update_alt $cmd
    if [ ! -x $BIN_HOME/$cmd ]; then
        echo "error: failed to install alternative, \"$cmd\""
        exit 1
    fi
    fi
done

exit 0

3

Proste rozwiązanie

Zamiast pobierać .tar.gzpakiet, zalecamy pobranie .rpmpakietu. Następnie uruchomić:

sudo apt-get install alien dpkg-dev debhelper build-essential
sudo alien --scripts jdk-7u-linux-.rpm 

gdzie uważam, że prąd <build>wynosi 21, a <version>zależy to od architektury systemu.

Pierwszy zainstaluje obcy, aplikację do konwertowania .rpmdo .deb. Drugie polecenie uruchamia następnie alien na pakiecie jdk. Powinno to działać przez minutę lub dwie i wygenerować plik oznaczony:

jdk-7u<build>-linux-<version>.deb

Ten pakiet można następnie zainstalować, uruchamiając:

sudo dpkg -i jdk-7u<build>-linux-<version>.deb

W ten sposób pomyślnie zainstalowałem go na moim komputerze.


1
Czy to zaktualizuje alternatywy? prawdopodobnie tylko skopiuj pliki.
DavidG

3

Myślę, że najlepsza metoda została już opublikowana, ale miałem z tym pewien problem: mianowicie usuwam java „ręcznie”, update-alternativesa potem próbowałem to zrobić

update-alternatives --install "/usr/bin/java/" "java" "/usr/lib/jvm/jre1.7.0_05/bin/java" 1

ale ciągle otrzymywałem ten błąd

update-alternatives: użycie /usr/lib/jvm/jre1.7.0_05/bin/java do zapewnienia / usr / bin / java / (java) w trybie automatycznym. update-alternatives: błąd: nie można zrobić /usr/bin/java/.dpkg-tmp dowiązania symbolicznego do / etc / alternatives / java: Brak takiego pliku lub katalogu

Ale na szczęście napotkałem świetny samouczek na tej stronie: http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html i działał dobrze :)


Byłoby najlepiej, gdybyś zamieścił tutaj istotne informacje (aby udzielić samodzielnej odpowiedzi).
Peter Mortensen,

/usr/bin/javanie jest folderem, dlatego błąd
Anwar

2

Najlepszą metodą, jaką mogę dostarczyć, jeśli chcesz zainstalować Javę 6 pod Ubuntu 12.04 LTS (Precise Pangolin):

sudo apt-get purge sun-java

Musisz to zrobić, jeśli chcesz, aby wtyczka Mozilla działała na przykład bez konfliktu z Javą 7.

mkdir ~/src

cd ~/src
git clone https://github.com/flexiondotorg/oab-java6.git
cd ~/src/oab-java6
sudo ./oab-java.sh

Następnie po zakończeniu zainstaluj Javę:

sudo apt-get install sun-java6-plugin sun-java6-jre sun-java6-bin sun-java6-jdk

Możesz śledzić proces instalacji za pomocą:

tail -f ~/src/oab-java6/oab-java.sh.log

Objaśnienie : to samo co w odpowiedzi na pytanie Jak mogę zainstalować zastrzeżony Java JDK 6/7/8 lub JRE firmy Sun / Oracle? .

Patrz : Instalacja Java6 JDK na Ubuntu 12.04


2

Dla mnie sposobem Debiana (sic) byłoby stworzenie własnego pakietu.

Instalujesz java-package

sudo apt-get install java-package

Pobierasz archiwum Oracle tar.gz.

Tworzysz swój pakiet deb

fakeroot make-jpkg jdk-7u79-linux-x64.tar.gz

I to zainstalować

sudo dpkg -i oracle-java7-jdk_7u79_amd64.deb

2

Pobierz żądaną .tar.gzwersję JDK dla systemu Ubuntu z http://oracle.comnp jdk-8u102-linux-x64.tar.gz.

Wyodrębnij go do dowolnego miejsca w /homekatalogu, na przykład /home/dante/Programs/Java. Teraz mamy folder o nazwie jak w jdk1.8.0_102środku /home/dante/Programs/Java.

Dodaj te dwa wiersze do /home/dante/.profilepliku

export JAVA_HOME=/home/dante/Programs/Java/jdk1.8.0_102
export PATH=$JAVA_HOME/bin:$PATH

Uruchom ponownie system, a po ponownym uruchomieniu powinieneś zobaczyć swoją wersję Java, uruchamiając się java -versionw terminalu.


2

Nie wiem, dlaczego ludzie dali tyle dużych odpowiedzi, ale dodanie jdk / bin do PATH działa dobrze: -

Dodaj swoją jdk/bindo ŚCIEŻKI, jak tu powiedziano w moim przypadku, tak to /etc/environmentwygląda: -

   $ cat /etc/environment     
   PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/jdk-9.0.1/bin"    
   JAVA_HOME="/opt/jdk-9.0.1/"

1

Aby zainstalować Sun Java 6 na Precise poprzez Trusty, możesz użyć pakietów PPA zachowanych usuniętych plików podstawowych / archiwalnych .

sudo add-apt-repository ppa:maxb/preserved
sudo apt-get update
sudo apt-get install sun-java6-jre
sudo update-alternatives --config java

A następnie wybierz żądaną wersję Java. Możesz sprawdzić, przez co teraz biegniesz:

geek@liv-inspiron:/tmp$ java -version
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)

1

Instalowanie Oracle Java (JDK / JRE):

Za pomocą tego skryptu: oraji możesz zautomatyzować zadanie instalacji / deinstalacji Oracle Java (JDK / JRE) z pobranego źródła (tar.gz) .

Kroki:

  1. Pobierz źródło tar.gz żądanej wersji jdk / jre.
  2. biegać sudo oraji /path/to/the/jdk_or_jre/archive

Odinstaluj:

uruchom sudo oraji -ui potwierdź wersję jdk / jre do odinstalowania.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.