JDK: Unterschied zwischen den Versionen

Aus Linupedia.org
Wechseln zu: Navigation, Suche
 
(----)
 
(24 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Category:Programmierung]]
+
==  Installation von Java 1.5 JDK auf einem SuSE Rechner ==
 +
Autor des Orginalbeitrags: '''oc2pus'''
 +
 
 +
Sofern für euren Rechner die gewünschte [http://java.sun.com/index.jsp Java]-Version nicht per fertiger Pakete vorliegen sollte, dann
 +
beim der Installation von Java 1.5 JDK auf einem SuSE Rechner wie folgend vorgehen.
 +
 +
 
 +
== Installations Ablauf ==
 +
=== Utils und Hilfspakete ===
 +
* Falls jpackage-utils nicht auf DVD/CD vorhanden
 +
:: download dieses RPM (bzw. des aktuell verfügbaren) jpackage-utils-X.X.X-1jpp.noarch.rpm von [http://mirrors.sunsite.dk/jpackage/1.7/generic/free/RPMS/ hier]
 +
:: Paketname zB. '''jpackage-utils-1.7.0-1jpp.noarch.rpm'''
 +
:: Paket installieren
 +
<pre>
 +
rpm -Uhv jpackage-utils-1.7.0-1jpp.noarch.rpm
 +
</pre>
 +
 
 +
 
 +
 
 +
* Für einige Versionen zB SuSE 9.1 benötigtes Paket  '''update-alternatives-.....jpp.noarch.rpm'''
 +
:: download von [http://mirrors.sunsite.dk/jpackage/1.6/generic/free/RPMS/ hier]
 +
:: Paketname zB. '''update-alternatives-1.8.3-8jpp.noarch.rpm'''
 +
:: Paket installieren
 +
<pre>
 +
rpm -i update-alternatives-1.8.3-8jpp.noarch.rpm
 +
</pre>
 +
 
 +
 
 +
 
 +
=== Java-1.5.0-sun-1.5...jpp.nosrc.rpm ===
 +
 
 +
* Benötigtes Paket java-1.5.0-sun-1.5.....jpp.nosrc.rpm
 +
:: download von h t t p://mirrors.sunsite.dk/jpackage/.../generic/non-free/SRPMS'''
 +
:: Paketname zB. '''java-1.5.0-sun-1.5.0.08-1jpp.nosrc.rpm'''
 +
::: '''Achtung:''' es gibt dort viele Pakete ähnlichen Namens, benötigt wird zwingend der Name '''java-1.5.0-sun-1.5.??-?jpp.nosrc.rpm''' wobei die '''?''' für die genaue Update Version stehen, die installiert werden soll. Diese Paket enthält Installationsinformationen und muss zur Version passen. Sollte das passende Paket nicht gefunden werden [[#SPEC-Datei anpassen | hier nachlesen]]
 +
:: Paket installieren
 +
<pre>
 +
rpm -i java-1.5.0-sun-1.5.0.08-1jpp.nosrc.rpm
 +
</pre>
 +
'''Warnungen:''' hier können einige Warnungen kommen, dass User auf dem System nicht bekannt sind.
 +
 
 +
 
 +
 
 +
=== Sun Development Kit ===
 +
 
 +
* Benötigt das '''JDK-Paket''' von Sun
 +
:: Startseite für Suche des gewünschen Files [http://java.sun.com/j2se/1.5.0/download.jsp Sun Download]
 +
:: Downloadname '''Linux Platform - J2SE(TM) Development Kit 5.0 Update 8'''
 +
:: Dateiname '''jdk-1_5_0-linux-i586.bin'''
 +
 
 +
 
 +
 
 +
=== Installationspakete erstellen ===
 +
 
 +
* Heruntergeladene '''JDK-Datei verschieben'''
 +
<pre>
 +
mv jdk-1_5_0-linux-i586.bin /usr/src/packages/SOURCES
 +
</pre>
 +
 
 +
 
 +
* '''Pakete erstellen'''
 +
<pre>
 +
cd /usr/src/packages
 +
rpm -bb SPECS/java-1.5.0-sun.spec
 +
</pre>
 +
'''Achtung:''' Sollte das Kommando "rpm -bb ...." mit ''Fehler "-bb: unknown option"'' enden,<br/>
 +
dann entweder nachfolgenden Befehl stattdessen ausführen oder [[#Fehler | im Abschnitt Fehlern nachlesen]]
 +
<pre>
 +
rpmbuild -bb SPECS/java-1.5.0-sun.spec
 +
</pre>
 +
 
 +
 
 +
* Wenn Befehl abgearbeitet ist, liegen die neuen Java Pakete unterhalb /usr/src/packages/RPMS/
 +
<pre>
 +
/usr/src/packages/RPMS/i586 # ls
 +
.                                          java-1.5.0-sun-devel-1.5.0.08-1jpp.i586.rpm
 +
..                                          java-1.5.0-sun-fonts-1.5.0.08-1jpp.i586.rpm
 +
java-1.5.0-sun-1.5.0.08-1jpp.i586.rpm      java-1.5.0-sun-jdbc-1.5.0.08-1jpp.i586.rpm
 +
java-1.5.0-sun-alsa-1.5.0.08-1jpp.i586.rpm  java-1.5.0-sun-plugin-1.5.0.08-1jpp.i586.rpm
 +
java-1.5.0-sun-demo-1.5.0.08-1jpp.i586.rpm  java-1.5.0-sun-src-1.5.0.08-1jpp.i586.rpm
 +
</pre>
 +
 
 +
 
 +
 
 +
=== Installieren ===
 +
* '''Java Pakete Installieren'''
 +
<pre>
 +
/usr/src/packages/RPMS/i586 # rpm -Uhv java*
 +
</pre>
 +
'''Achtung:''' sollte dabei folgender Fehler auftreten:
 +
<pre>
 +
error: Failed dependencies:
 +
        /usr/bin/ttmkfdir is needed by java-1.5.0-sun-fonts-1.5.0.08-1jpp
 +
        /usr/sbin/chkfontpath is needed by java-1.5.0-sun-fonts-1.5.0.08-1jpp
 +
</pre>
 +
siehe [[#Fehler | Fehlerbehebung]]
 +
 
 +
 
 +
 
 +
* '''Nach der Installation''' nicht vergessen
 +
<pre>
 +
SuSEconfig
 +
</pre>
 +
aufrufen und ggfl. den Link für Firefox bzw Mozilla neu zu setzen.
 +
 
 +
 
 +
 
 +
 
 +
 
 +
== SPEC-Datei anpassen ==
 +
 
 +
sollte die genaue Version der '''java-1.5.0-sun-1.5.0.08-1jpp.nosrc.rpm''' trotz intensivster Suche nicht gefunden werden, dann kann eventuell mit der Vorgänger Version dieses Paketes trotzdem sauber installiert werden.
 +
 
 +
Bei der Installation dieses Paketes wir die  SPEC-Datei (/usr/src/packages/SPECS/java-1.5.0-sun.spec ) angelegt. Diese Datei kann angepasst werden.
 +
Wer täglich mit solchen Dateien zu tun hat, wird sich schnell zurechtfinden, allen anderen sei es nicht dringend empfohlen ohne tiefere Kenntnisse und ohne genaue Vorlage dort einfach planlos zu editieren.
 +
 
 +
 
 +
'''ein Beispiel''': es wird mit einer 1.5.0 Version  der SPEC-Datei eine 1.5.0_01 ersetzt.
 +
<pre>
 +
%define release 3jpp
 +
</pre>
 +
wird zu geändert:
 +
<pre>
 +
%define release 4jpp
 +
</pre>
 +
 
 +
 
 +
 
 +
<pre>
 +
%define toplevel_dir jdk%{javaver}
 +
</pre>
 +
wird geändert:
 +
<pre>
 +
%define toplevel_dir jdk%{javaver}_01
 +
</pre>
 +
 
 +
 
 +
 
 +
<pre>
 +
Source0: jdk-1_5_0-linux-i586.bin
 +
</pre>
 +
wird geändert:
 +
<pre>
 +
Source0: jdk-1_5_0_01-linux-i586.bin
 +
</pre>
 +
 
 +
 
 +
 
 +
 
 +
'''noch ein Beispiel''': es wird mit einer 1.5.0_07 Version der SPEC-Datei eine 1.5.0_08 ersetzt
 +
<pre>
 +
%define buildver        07
 +
</pre>
 +
wird auf '''Wert 08 geändert''', sonst bleibt alles gleich, und funktioniert.
 +
''( Dieses wurde hier bei der aktuellen Zusammenstellung dieses HOWTOs verwendet, da eine 1.5.0_08 nicht aufzufinden war)''
 +
<!-- getestet Robi -->
 +
 
 +
 
 +
 
 +
== Fehler ==
 +
 
 +
* Bei folgendem '''Fehler update-alternatives'''<br/>
 +
''Failed dependencies: /usr/sbin/update-alternatives is needed by java-1.5.0-sun-1.5.0-4jpp''
 +
 
 +
Das Paket ''update-alternatives-1.?????jpp.noarch.rpm''  muss noch installiert werden
 +
 
 +
 
 +
 
 +
 
 +
 
 +
* Fehlermeldung wegen '''Abhängikeiten bei sun-fonts''':
 +
<pre>
 +
<kages/RPMS/i586/java-1.5.0-sun-fonts-1.5.0-4jpp.i586.rpm';echo RESULT=$?
 +
error: Failed dependencies:
 +
/usr/bin/ttmkfdir is needed by java-1.5.0-sun-fonts-1.5.0-4jpp
 +
/usr/sbin/chkfontpath is needed by java-1.5.0-sun-fonts-1.5.0-4jpp
 +
RESULT=1
 +
</pre>
 +
Fehler wegen '''sun-fonts''' ist auf vier Arten zu umgehen:
 +
 
 +
    * 1.) installiere das RPM mit rpm -i --nodeps .... (wenn du kein apt benutzt!)
 +
    * 2.) lass das RPM weg, du brauchst es nur ganz, ganz selten
 +
    * 3.) erstelle ein "virtuelles RPM" das diese beiden Programme der RPM Datenbank vorlügt [[Wie erstelle ich ein virtuelles RPM Paket ?]]
 +
    * 4.) editiere das SPEC File und nimm diese falsche Abhängigkeit raus.
 +
 
 +
 
 +
 
 +
'''Beispiel:''' Umbenennen des Paketes, damit wird vermieden, das das Paket mit '''rpm -Uhv java*''' gefunden wird und es wird so einfach nicht mitinstalliert.
 +
<pre>   
 +
/usr/src/packages/RPMS/i586 # mv java-1.5.0-sun-fonts-1.5.0.08-1jpp.i586.rpm  n-java-1.5.0-sun-fonts-1.5.0.08-1jpp.i586.rpm
 +
Pingu:/usr/src/packages/RPMS/i586 # rpm -Uhv java*
 +
Preparing...                ########################################### [100%]
 +
  1:java-1.5.0-sun        ########################################### [ 14%]
 +
  2:java-1.5.0-sun-alsa    ########################################### [ 29%]
 +
  3:java-1.5.0-sun-demo    ########################################### [ 43%]
 +
  4:java-1.5.0-sun-devel  ########################################### [ 57%]
 +
  5:java-1.5.0-sun-jdbc    ########################################### [ 71%]
 +
  6:java-1.5.0-sun-plugin  ########################################### [ 86%]
 +
  7:java-1.5.0-sun-src    ########################################### [100%]
 +
</pre>
 +
 
 +
   
 +
 
 +
 
 +
 
 +
* '''Fehler des Kommandos "rpm -bb ...."'''<br/>
 +
Fehlermeldung: '' "-bb: unknown option" ''
 +
 
 +
entweder '''rpmbuild -bb''' anstatt des rpm Befehles benutzen<br/>
 +
oder  folgende Datei anlegen '''/etc/popt'''<br/>
 +
Inhalt der Datei /etc/popt :
 +
<pre>
 +
rpm    exec --bp              rpmb -bp
 +
rpm    exec --bc              rpmb -bc
 +
rpm    exec --bi              rpmb -bi
 +
rpm    exec --bl              rpmb -bl
 +
rpm    exec --ba              rpmb -ba
 +
rpm    exec --bb              rpmb -bb
 +
rpm    exec --bs              rpmb -bs
 +
rpm    exec --tp              rpmb -tp
 +
rpm    exec --tc              rpmb -tc
 +
rpm    exec --ti              rpmb -ti
 +
rpm    exec --tl              rpmb -tl
 +
rpm    exec --ta              rpmb -ta
 +
rpm    exec --tb              rpmb -tb
 +
rpm    exec --ts              rpmb -ts
 +
rpm    exec --rebuild          rpmb --rebuild
 +
rpm    exec --recompile        rpmb --recompile
 +
rpm    exec --clean            rpmb --clean
 +
rpm    exec --rmsource        rpmb --rmsource
 +
rpm    exec --rmspec          rpmb --rmspec
 +
rpm    exec --target          rpmb --target
 +
rpm    exec --short-circuit    rpmb --short-circuit
 +
</pre>
 +
Siehe auch [http://www.die.net/doc/linux/man/man8/rpm.8.html man rpm(8) Abschnitt '''Executing rpmbuild'''].
 +
Damit kann dann mit dem ''rpm Befehl'' die Aufgaben von ''rpmbild'' erledigt werden.
 +
 
 +
 
 +
----
 +
 
 +
[[Programmierung | Zurück zu Programmierung]][[Category:Programmierung]]

Aktuelle Version vom 12. April 2007, 01:53 Uhr

Installation von Java 1.5 JDK auf einem SuSE Rechner

Autor des Orginalbeitrags: oc2pus

Sofern für euren Rechner die gewünschte Java-Version nicht per fertiger Pakete vorliegen sollte, dann beim der Installation von Java 1.5 JDK auf einem SuSE Rechner wie folgend vorgehen.


Installations Ablauf

Utils und Hilfspakete

  • Falls jpackage-utils nicht auf DVD/CD vorhanden
download dieses RPM (bzw. des aktuell verfügbaren) jpackage-utils-X.X.X-1jpp.noarch.rpm von hier
Paketname zB. jpackage-utils-1.7.0-1jpp.noarch.rpm
Paket installieren
 
rpm -Uhv jpackage-utils-1.7.0-1jpp.noarch.rpm


  • Für einige Versionen zB SuSE 9.1 benötigtes Paket update-alternatives-.....jpp.noarch.rpm
download von hier
Paketname zB. update-alternatives-1.8.3-8jpp.noarch.rpm
Paket installieren
rpm -i update-alternatives-1.8.3-8jpp.noarch.rpm 


Java-1.5.0-sun-1.5...jpp.nosrc.rpm

  • Benötigtes Paket java-1.5.0-sun-1.5.....jpp.nosrc.rpm
download von h t t p://mirrors.sunsite.dk/jpackage/.../generic/non-free/SRPMS
Paketname zB. java-1.5.0-sun-1.5.0.08-1jpp.nosrc.rpm
Achtung: es gibt dort viele Pakete ähnlichen Namens, benötigt wird zwingend der Name java-1.5.0-sun-1.5.??-?jpp.nosrc.rpm wobei die ? für die genaue Update Version stehen, die installiert werden soll. Diese Paket enthält Installationsinformationen und muss zur Version passen. Sollte das passende Paket nicht gefunden werden hier nachlesen
Paket installieren
rpm -i java-1.5.0-sun-1.5.0.08-1jpp.nosrc.rpm

Warnungen: hier können einige Warnungen kommen, dass User auf dem System nicht bekannt sind.


Sun Development Kit

  • Benötigt das JDK-Paket von Sun
Startseite für Suche des gewünschen Files Sun Download
Downloadname Linux Platform - J2SE(TM) Development Kit 5.0 Update 8
Dateiname jdk-1_5_0-linux-i586.bin


Installationspakete erstellen

  • Heruntergeladene JDK-Datei verschieben
mv jdk-1_5_0-linux-i586.bin /usr/src/packages/SOURCES


  • Pakete erstellen
cd /usr/src/packages
rpm -bb SPECS/java-1.5.0-sun.spec

Achtung: Sollte das Kommando "rpm -bb ...." mit Fehler "-bb: unknown option" enden,
dann entweder nachfolgenden Befehl stattdessen ausführen oder im Abschnitt Fehlern nachlesen

rpmbuild -bb SPECS/java-1.5.0-sun.spec


  • Wenn Befehl abgearbeitet ist, liegen die neuen Java Pakete unterhalb /usr/src/packages/RPMS/
/usr/src/packages/RPMS/i586 # ls
.                                           java-1.5.0-sun-devel-1.5.0.08-1jpp.i586.rpm
..                                          java-1.5.0-sun-fonts-1.5.0.08-1jpp.i586.rpm
java-1.5.0-sun-1.5.0.08-1jpp.i586.rpm       java-1.5.0-sun-jdbc-1.5.0.08-1jpp.i586.rpm
java-1.5.0-sun-alsa-1.5.0.08-1jpp.i586.rpm  java-1.5.0-sun-plugin-1.5.0.08-1jpp.i586.rpm
java-1.5.0-sun-demo-1.5.0.08-1jpp.i586.rpm  java-1.5.0-sun-src-1.5.0.08-1jpp.i586.rpm


Installieren

  • Java Pakete Installieren
/usr/src/packages/RPMS/i586 # rpm -Uhv java*

Achtung: sollte dabei folgender Fehler auftreten:

 error: Failed dependencies:
        /usr/bin/ttmkfdir is needed by java-1.5.0-sun-fonts-1.5.0.08-1jpp
        /usr/sbin/chkfontpath is needed by java-1.5.0-sun-fonts-1.5.0.08-1jpp

siehe Fehlerbehebung


  • Nach der Installation nicht vergessen
SuSEconfig

aufrufen und ggfl. den Link für Firefox bzw Mozilla neu zu setzen.



SPEC-Datei anpassen

sollte die genaue Version der java-1.5.0-sun-1.5.0.08-1jpp.nosrc.rpm trotz intensivster Suche nicht gefunden werden, dann kann eventuell mit der Vorgänger Version dieses Paketes trotzdem sauber installiert werden.

Bei der Installation dieses Paketes wir die SPEC-Datei (/usr/src/packages/SPECS/java-1.5.0-sun.spec ) angelegt. Diese Datei kann angepasst werden. Wer täglich mit solchen Dateien zu tun hat, wird sich schnell zurechtfinden, allen anderen sei es nicht dringend empfohlen ohne tiefere Kenntnisse und ohne genaue Vorlage dort einfach planlos zu editieren.


ein Beispiel: es wird mit einer 1.5.0 Version der SPEC-Datei eine 1.5.0_01 ersetzt.

%define release 3jpp

wird zu geändert:

%define release 4jpp


%define toplevel_dir jdk%{javaver}

wird geändert:

%define toplevel_dir jdk%{javaver}_01


Source0: jdk-1_5_0-linux-i586.bin

wird geändert:

Source0: jdk-1_5_0_01-linux-i586.bin



noch ein Beispiel: es wird mit einer 1.5.0_07 Version der SPEC-Datei eine 1.5.0_08 ersetzt

%define buildver        07

wird auf Wert 08 geändert, sonst bleibt alles gleich, und funktioniert. ( Dieses wurde hier bei der aktuellen Zusammenstellung dieses HOWTOs verwendet, da eine 1.5.0_08 nicht aufzufinden war)


Fehler

  • Bei folgendem Fehler update-alternatives
Failed dependencies: /usr/sbin/update-alternatives is needed by java-1.5.0-sun-1.5.0-4jpp

Das Paket update-alternatives-1.?????jpp.noarch.rpm muss noch installiert werden



  • Fehlermeldung wegen Abhängikeiten bei sun-fonts:
<kages/RPMS/i586/java-1.5.0-sun-fonts-1.5.0-4jpp.i586.rpm';echo RESULT=$?
error: Failed dependencies:
/usr/bin/ttmkfdir is needed by java-1.5.0-sun-fonts-1.5.0-4jpp
/usr/sbin/chkfontpath is needed by java-1.5.0-sun-fonts-1.5.0-4jpp
RESULT=1

Fehler wegen sun-fonts ist auf vier Arten zu umgehen:

   * 1.) installiere das RPM mit rpm -i --nodeps .... (wenn du kein apt benutzt!)
   * 2.) lass das RPM weg, du brauchst es nur ganz, ganz selten
   * 3.) erstelle ein "virtuelles RPM" das diese beiden Programme der RPM Datenbank vorlügt Wie erstelle ich ein virtuelles RPM Paket ?
   * 4.) editiere das SPEC File und nimm diese falsche Abhängigkeit raus. 


Beispiel: Umbenennen des Paketes, damit wird vermieden, das das Paket mit rpm -Uhv java* gefunden wird und es wird so einfach nicht mitinstalliert.

    
/usr/src/packages/RPMS/i586 # mv java-1.5.0-sun-fonts-1.5.0.08-1jpp.i586.rpm  n-java-1.5.0-sun-fonts-1.5.0.08-1jpp.i586.rpm
Pingu:/usr/src/packages/RPMS/i586 # rpm -Uhv java*
Preparing...                ########################################### [100%]
   1:java-1.5.0-sun         ########################################### [ 14%]
   2:java-1.5.0-sun-alsa    ########################################### [ 29%]
   3:java-1.5.0-sun-demo    ########################################### [ 43%]
   4:java-1.5.0-sun-devel   ########################################### [ 57%]
   5:java-1.5.0-sun-jdbc    ########################################### [ 71%]
   6:java-1.5.0-sun-plugin  ########################################### [ 86%]
   7:java-1.5.0-sun-src     ########################################### [100%]



  • Fehler des Kommandos "rpm -bb ...."

Fehlermeldung: "-bb: unknown option"

entweder rpmbuild -bb anstatt des rpm Befehles benutzen
oder folgende Datei anlegen /etc/popt
Inhalt der Datei /etc/popt :

rpm     exec --bp               rpmb -bp
rpm     exec --bc               rpmb -bc
rpm     exec --bi               rpmb -bi
rpm     exec --bl               rpmb -bl
rpm     exec --ba               rpmb -ba
rpm     exec --bb               rpmb -bb
rpm     exec --bs               rpmb -bs
rpm     exec --tp               rpmb -tp
rpm     exec --tc               rpmb -tc
rpm     exec --ti               rpmb -ti
rpm     exec --tl               rpmb -tl
rpm     exec --ta               rpmb -ta
rpm     exec --tb               rpmb -tb
rpm     exec --ts               rpmb -ts
rpm     exec --rebuild          rpmb --rebuild
rpm     exec --recompile        rpmb --recompile
rpm     exec --clean            rpmb --clean
rpm     exec --rmsource         rpmb --rmsource
rpm     exec --rmspec           rpmb --rmspec
rpm     exec --target           rpmb --target
rpm     exec --short-circuit    rpmb --short-circuit

Siehe auch man rpm(8) Abschnitt Executing rpmbuild. Damit kann dann mit dem rpm Befehl die Aufgaben von rpmbild erledigt werden.



Zurück zu Programmierung