Hallo,
Ich möchte hier mal alle javabezogenen Dateien auflisten und würde gerne wissen, wie diese zusammenspielen, da mich eines wundert: Wie kann es sein, dass java-config -L folgendes ausgibt...
The following VMs are available for generation-2:
1) Sun JDK 1.4.2.13 [sun-jdk-1.4]
*) Sun JDK 1.5.0.08 [sun-jdk-1.5]
3) Sun JRE 1.5.0.08 [sun-jre-bin-1.5]
...aber keine der folgenden Dateien irgendetwas mit Java 1.5 beinhaltet, zumal Java-1.5 tadellos funktioniert?
Zum einen sind das im Verzeichnis /etc/env.d/ folgende Dateien:
20java
------------------------------------------
Autogenerated by java-config
Command: --set-system-vm=sun-jdk-1.4
LDPATH=/opt/sun-jdk-1.4.2.13/jre/lib/i386/:/opt/sun-jdk-1.4.2.13/jre/lib/i386/native_threads/:/opt/sun-jdk-1.4.2.13/jre/lib/i386/classic/:/opt/sun-jdk-1.4.2.13/jre/lib/i386/server/
JDK_HOME=/opt/sun-jdk-1.4.2.13
JAVAC=/opt/sun-jdk-1.4.2.13/bin/javac
GENERATION=2
ROOTPATH=/opt/sun-jdk-1.4.2.13/bin:/opt/sun-jdk-1.4.2.13/jre/bin:/opt/sun-jdk-1.4.2.13/jre/javaws
VMHANDLE=sun-jdk-1.4
VERSION=Sun JDK 1.4.2.13
MANPATH=/opt/sun-jdk-1.4.2.13/man
PATH=/opt/sun-jdk-1.4.2.13/bin:/opt/sun-jdk-1.4.2.13/jre/bin:/opt/sun-jdk-1.4.2.13/jre/javaws
JAVA_HOME=/opt/sun-jdk-1.4.2.13
20java-config
-----------------------------------------
MANPATH=/etc/java-config/system-vm/man/
CONFIG_PROTECT_MASK="/etc/java-config/vms/ /etc/env.d/java/"
30java-finalclasspath
----------------------------------------
CLASSPATH=.:/opt/sun-java3d-bin/lib/ext/j3dcore.jar:/opt/sun-java3d-bin/lib/ext/j3dutils.jar:/opt/sun-java3d-bin/lib/ext/vecmath.jar
In diesem Verzeichnis /etc/env.d/ befindet sich noch ein weiteres Verzeichnis "java", das folgende Dateie beinhaltet:
20sun-jdk-1.4.2.13
----------------------------------------
Copyright 1999-2005 Gentoo Foundation
Distributed under the terms of the GNU General Public License v2
$Header: /var/cvsroot/gentoo-x86/dev-java/sun-jdk/files/sun-jdk-1.4.env,v 1.1 2006/06/25 20:06:24 nichoj Exp $
VERSION="Sun JDK 1.4.2.13"
JAVA_HOME=/opt/sun-jdk-1.4.2.13
JDK_HOME=/opt/sun-jdk-1.4.2.13
JAVAC=${JAVA_HOME}/bin/javac
PATH="${JAVA_HOME}/bin:${JAVA_HOME}/jre/bin:${JAVA_HOME}/jre/javaws"
ROOTPATH="${JAVA_HOME}/bin:${JAVA_HOME}/jre/bin:${JAVA_HOME}/jre/javaws"
LDPATH="${JAVA_HOME}/jre/lib/i386/:${JAVA_HOME}/jre/lib/i386/native_threads/:${JAVA_HOME}/jre/lib/i386/classic/:${JAVA_HOME}/jre/lib/i386/server/"
MANPATH="/opt/sun-jdk-1.4.2.13/man"
GENERATION="2"
ENV_VARS="JAVA_HOME JDK_HOME JAVAC PATH ROOTPATH LDPATH MANPATH"
VMHANDLE="sun-jdk-1.4"
Irgendwoher muss doch Java die Information bekommen, dass /opt/sun-jdk-1.5.0.08 das "richtige" Verzeichnis ist, aber woher tut es das?
java -version gibt ebenfalls folgendes aus:
java version "1.5.0_08"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_08-b03)
Java HotSpot(TM) Client VM (build 1.5.0_08-b03, mixed mode)
Markus