Hallo Gemeinde,
ich wollte einmal nachfragen wie man eine andere Java-Version beispielhaft Oracle JRockit in Debian integriert, dass man es dann auch mit update-alternatives benutzen kann.
Analog sollte das dann ja auch für Apache Harmony etc. funktionieren.
Ich hab das versucht zu verstehen aber irgendwie hat das nicht geklappt.
Ich danke euch für eure Hilfe.
Integration von Java in Debian
Re: Integration von Java in Debian
Hi,
wahrscheinlich musst Du Dir dann ein debian paket daraus bauen.
Und noch ein Hinweis: die java alternativen stellt man dann mit update-java-alternatives ein.
Ciao
Stefan
wahrscheinlich musst Du Dir dann ein debian paket daraus bauen.
Und noch ein Hinweis: die java alternativen stellt man dann mit update-java-alternatives ein.
Ciao
Stefan
Bürokratie kann man nur durch ihre Anwendung bekämpfen.
Re: Integration von Java in Debian
Das dann eine Datei *.jinfo des jeweiligen java einliest und an update-alternatives übergibt.Und noch ein Hinweis: die java alternativen stellt man dann mit update-java-alternatives ein.
Damit das funktioniert, muß also eine passende *.jinfo erstellt werden.
Da debian-spezifisch ist es wohl nicht Teil des Quelltextes.
Bsp. /usr/lib/jvm/java-1.5.0-gcj-4.4/.java-gcj-4.4.jinfo :
Code: Alles auswählen
name=java-1.5.0-gcj-4.4
alias=java-gcj-4.4
priority=
section=main
jre java //usr/lib/jvm/java-1.5.0-gcj-4.4/jre/bin/java
jre keytool //usr/lib/jvm/java-1.5.0-gcj-4.4/jre/bin/keytool
jre orbd //usr/lib/jvm/java-1.5.0-gcj-4.4/jre/bin/orbd
jre rmid //usr/lib/jvm/java-1.5.0-gcj-4.4/jre/bin/rmid
jre rmiregistry //usr/lib/jvm/java-1.5.0-gcj-4.4/jre/bin/rmiregistry
jre tnameserv //usr/lib/jvm/java-1.5.0-gcj-4.4/jre/bin/tnameserv
jdk appletviewer //usr/lib/jvm/java-1.5.0-gcj-4.4/bin/appletviewer
jdk jar //usr/lib/jvm/java-1.5.0-gcj-4.4/bin/jar
jdk jarsigner //usr/lib/jvm/java-1.5.0-gcj-4.4/bin/jarsigner
jdk javac //usr/lib/jvm/java-1.5.0-gcj-4.4/bin/javac
jdk javadoc //usr/lib/jvm/java-1.5.0-gcj-4.4/bin/javadoc
jdk javah //usr/lib/jvm/java-1.5.0-gcj-4.4/bin/javah
jdk native2ascii //usr/lib/jvm/java-1.5.0-gcj-4.4/bin/native2ascii
jdk rmic //usr/lib/jvm/java-1.5.0-gcj-4.4/bin/rmic
jdk serialver //usr/lib/jvm/java-1.5.0-gcj-4.4/bin/serialver
Code: Alles auswählen
name=java-6-openjdk
alias=java-6-openjdk
priority=1061
section=main
hl java /usr/lib/jvm/java-6-openjdk/jre/bin/java
hl keytool /usr/lib/jvm/java-6-openjdk/jre/bin/keytool
hl pack200 /usr/lib/jvm/java-6-openjdk/jre/bin/pack200
hl rmid /usr/lib/jvm/java-6-openjdk/jre/bin/rmid
hl rmiregistry /usr/lib/jvm/java-6-openjdk/jre/bin/rmiregistry
hl unpack200 /usr/lib/jvm/java-6-openjdk/jre/bin/unpack200
hl orbd /usr/lib/jvm/java-6-openjdk/jre/bin/orbd
hl servertool /usr/lib/jvm/java-6-openjdk/jre/bin/servertool
hl tnameserv /usr/lib/jvm/java-6-openjdk/jre/bin/tnameserv
hl jexec /usr/lib/jvm/java-6-openjdk/jre/lib/jexec
jre javaws /usr/lib/jvm/java-6-openjdk/jre/bin/javaws
jre pluginappletviewer /usr/lib/jvm/java-6-openjdk/jre/bin/pluginappletviewer
jre policytool /usr/lib/jvm/java-6-openjdk/jre/bin/policytool
jdk appletviewer /usr/lib/jvm/java-6-openjdk/bin/appletviewer
jdk apt /usr/lib/jvm/java-6-openjdk/bin/apt
jdk extcheck /usr/lib/jvm/java-6-openjdk/bin/extcheck
jdk idlj /usr/lib/jvm/java-6-openjdk/bin/idlj
jdk jar /usr/lib/jvm/java-6-openjdk/bin/jar
jdk jarsigner /usr/lib/jvm/java-6-openjdk/bin/jarsigner
jdk javac /usr/lib/jvm/java-6-openjdk/bin/javac
jdk javadoc /usr/lib/jvm/java-6-openjdk/bin/javadoc
jdk javah /usr/lib/jvm/java-6-openjdk/bin/javah
jdk javap /usr/lib/jvm/java-6-openjdk/bin/javap
jdk jconsole /usr/lib/jvm/java-6-openjdk/bin/jconsole
jdk jdb /usr/lib/jvm/java-6-openjdk/bin/jdb
jdk jhat /usr/lib/jvm/java-6-openjdk/bin/jhat
jdk jinfo /usr/lib/jvm/java-6-openjdk/bin/jinfo
jdk jmap /usr/lib/jvm/java-6-openjdk/bin/jmap
jdk jps /usr/lib/jvm/java-6-openjdk/bin/jps
jdk jrunscript /usr/lib/jvm/java-6-openjdk/bin/jrunscript
jdk jsadebugd /usr/lib/jvm/java-6-openjdk/bin/jsadebugd
jdk jstack /usr/lib/jvm/java-6-openjdk/bin/jstack
jdk jstat /usr/lib/jvm/java-6-openjdk/bin/jstat
jdk jstatd /usr/lib/jvm/java-6-openjdk/bin/jstatd
jdk native2ascii /usr/lib/jvm/java-6-openjdk/bin/native2ascii
jdk rmic /usr/lib/jvm/java-6-openjdk/bin/rmic
jdk schemagen /usr/lib/jvm/java-6-openjdk/bin/schemagen
jdk serialver /usr/lib/jvm/java-6-openjdk/bin/serialver
jdk wsgen /usr/lib/jvm/java-6-openjdk/bin/wsgen
jdk wsimport /usr/lib/jvm/java-6-openjdk/bin/wsimport
jdk xjc /usr/lib/jvm/java-6-openjdk/bin/xjc
plugin mozilla-javaplugin.so /usr/lib/jvm/java-6-openjdk/jre/lib/i386/IcedTeaPlugin.so
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-
- Beiträge: 15
- Registriert: 17.11.2008 13:18:18
Re: Integration von Java in Debian
Hm...
soweit hatte ich das auch schon mal angelegt. Nur kam dann dein Fehler, dass die java alterantive, die ich einspielen möchte nicht in der Datenbank der Alternatives erscheint. Und bei dem Punkt hab ich dann vollends aufgegeben. Dummerweise, weiß ich nicht mehr genau die Fehlermeldung, ist schon ne Weile her.
"man update-java-alternatives" sagt dazu jedenfalls nur so viel
Also wenn jemand noch genaueres weiß, was über die .jinfo hinausgeht: ich bin ganz Ohr...
soweit hatte ich das auch schon mal angelegt. Nur kam dann dein Fehler, dass die java alterantive, die ich einspielen möchte nicht in der Datenbank der Alternatives erscheint. Und bei dem Punkt hab ich dann vollends aufgegeben. Dummerweise, weiß ich nicht mehr genau die Fehlermeldung, ist schon ne Weile her.
"man update-java-alternatives" sagt dazu jedenfalls nur so viel
Interessant ist dabei nur, dass z.B. bei openjdk noch "hl" und "plugin" dazukommen, die in der man nicht dokumentiert sind.FILES
/usr/lib/jvm/.*.jinfo
A text file describing a jre/sdk installation. Consists of some
variables of the form <var>=<value> and a list of alternatives
of the form jre|jdk <name> <path>
Also wenn jemand noch genaueres weiß, was über die .jinfo hinausgeht: ich bin ganz Ohr...
Re: Integration von Java in Debian
Die .jinfo ist eine schematische Darstellung der update-alternatives-Behandlung durch die postinst der jeweiligen Pakete.
eine Aufbereitung für das update-alternatives-Frontend update-java-alternatives.
Du kannst in der java-Software (Oracle JRockit) die entsprechenden Pendants suchen und diese debian-Schemata damit befüllen.
Die postinst sind ja nicht zu schwer zu lesen und anzupassen:
eine Aufbereitung für das update-alternatives-Frontend update-java-alternatives.
Du kannst in der java-Software (Oracle JRockit) die entsprechenden Pendants suchen und diese debian-Schemata damit befüllen.
Die postinst sind ja nicht zu schwer zu lesen und anzupassen:
Die jeweiligen *_tools-Auflistungen kannst Du ja (auf gut Glück) mit weiteren Einträgen beschicken.jdk:Code: Alles auswählen
#!/bin/sh set -e priority=1061 basedir=/usr/lib/jvm/java-6-openjdk basediralias=/usr/lib/jvm/java-6-openjdk jdiralias=java-6-openjdk mandir=/usr/lib/jvm/java-6-openjdk/jre/man srcext=1.gz dstext=1.gz jre_tools='javaws pluginappletviewer policytool' case "$1" in configure) if [ -d /usr/share/doc/openjdk-6-jre ] && [ ! -h /usr/share/doc/openjdk-6-jre ]; then rm -rf /usr/share/doc/openjdk-6-jre ln -sf openjdk-6-jre-headless /usr/share/doc/openjdk-6-jre; fi for i in $jre_tools; do unset slave1 slave2 || true if [ -e $mandir/man1/$i.$srcext ]; then slave1="--slave \ /usr/share/man/man1/$i.$dstext \ $i.$dstext \ $mandir/man1/$i.$srcext" fi # disabled if false && [ -e $mandir/ja/man1/$i.$srcext ]; then slave2="--slave \ /usr/share/man/ja/man1/$i.$dstext \ ${i}_ja.$dstext \ $mandir/ja/man1/$i.$srcext" fi update-alternatives \ --install \ /usr/bin/$i \ $i \ $basediralias/jre/bin/$i \ $priority \ $slave1 $slave2 done ...
headless:Code: Alles auswählen
jdk_tools='appletviewer apt extcheck idlj jar jarsigner javac javadoc javah javap jconsole jdb jhat jinfo jmap jps jrunscript jsadebugd jstack jstat jstatd native2ascii rmic schemagen serialver wsgen wsimport xjc'
Code: Alles auswählen
jre_tools='java keytool pack200 rmid rmiregistry unpack200 orbd servertool tnameserv'
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")