configurar - path java centos
configurando JAVA_HOME & CLASSPATH en CentOS 6 (6)
Busque here para centos jre instalar todos los usuarios:
La forma más fácil de establecer una variable de entorno en CentOS es utilizar exportar como en
$> export JAVA_HOME=/usr/java/jdk.1.5.0_12
$> export PATH=$PATH:$JAVA_HOME
Sin embargo, las variables establecidas de esta manera son transitorias, es decir, desaparecerán en el momento en que salga del shell. Obviamente, esto no es útil al configurar variables de entorno que deben persistir incluso cuando el sistema se reinicia. En tales casos, debe configurar las variables dentro del perfil de todo el sistema. En CentOS (estoy usando v5.2), la carpeta /etc/profile.d/ es el lugar recomendado para agregar personalizaciones al perfil del sistema. Por ejemplo, al instalar Sun JDK, es posible que deba configurar las variables de entorno JAVA_HOME y JRE_HOME. En este caso: java.sh
un nuevo archivo llamado java.sh
vim /etc/profile.d/java.sh
Dentro de este archivo, inicialice las variables de entorno necesarias.
export JRE_HOME=/usr/java/jdk1.5.0_12/jre
export PATH=$PATH:$JRE_HOME/bin
export JAVA_HOME=/usr/java/jdk1.5.0_12
export JAVA_PATH=$JAVA_HOME
export PATH=$PATH:$JAVA_HOME/bin
Ahora, cuando reinicie su máquina, las variables de entorno en java.sh se inicializarán automáticamente (verifique / etc / profile si tiene curiosidad sobre cómo se cargan los archivos en /etc/profile.d/).
PD: Si desea cargar las variables de entorno dentro de java.sh
sin tener que reiniciar la máquina, puede usar el comando de origen como en:
$> source java.sh
Desempaqué mi jdk en / usr / java /.
y puse CLASSPATH, PATH, JAVA_HOME en / etc / profile como abajo.
export JAVA_HOME=/usr/java/jdk1.7.0_21
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar
Y cuando compilo un archivo java en /usr/java/jdk1.0.7_21/bin,
funciona. Pero cuando estoy haciendo lo mismo en otra carpeta, no lo hace.
Muestra NoClassDefFoundError.
Así que he revisado ClASSPATH, PATH, JAVA_HOME a través de echo.
Se muestra como a continuación.
[root@localhost a]# echo $JAVA_HOME
/usr/java/jdk1.7.0_21
[root@localhost a]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/guest/bin:/usr/java/jdk1.7.0_21/bin:/usr/java/bin:/usr/java/jdk1.7.0_21/bin
[root@localhost a]# echo $CLASSPATH
/usr/java/jdk1.7.0_21/jre/lib/ext:/usr/java/jdk1.7.0_21/lib/tools.jar
Quiero usar java en la consola. ¿Qué puedo hacer para solucionar esta situación?
Gracias por adelantado.
PD. Por supuesto que hice source /etc/profile
.
================= Los errores con los que me enfrento =======================
cuando mando java A (mi nombre de clase es A).
Error: Could not find or load main class A
caso yo mando java -cp / home / guest / workspace / AAA / src / a / A
Exception in thread "main" java.lang.NoClassDefFoundError: A (wrong name: a/A)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
===================== contenido completo de mi código ======================== ============== java part. la ruta es /usr/guest/workspace/AAA/src/a/A.java
package a;
public class A {
public static void main(String[] args) {
System.out.println("a!/n");
}
}
/ etc / parte del perfil. la parte izquierda es por defecto
export JAVA_HOME=/usr/java/jdk1.7.0_21
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar
Otras partes pueden ser útiles para resolver.
-
which java
imprime "/ usr / java / bin". Hay enlace simbólico. - Mi ubicación de jdk es /usr/java/jdk1.7.0_21. dentro de ./bin cada código funciona bien.
- No toqué /root/.bash_profile. Acabo de editar / etc / perfil.
Gracias por tal interés. aunque no se resuelva. Tu ayuda fue una gran sanación para mí: D Gracias de nuevo.
Creé una carpeta llamada in / home / prasanth y copié su código a un archivo llamado A.java. javac a/A.java
desde / home / prasanth como javac a/A.java
y javac a/A.java
javac aA
. Tengo salida como
a!
Instrucciones:
- Haga clic en el icono "Terminal" en el panel del escritorio para abrir una ventana de terminal y acceder al indicador de comandos.
- Escriba el comando "qué java" para encontrar la ruta al archivo ejecutable de Java.
- Escriba el comando "su -" para convertirse en el usuario root.
- Escriba el comando "vi /root/.bash_profile" para abrir el archivo "bash_profile" del sistema en el editor de texto de Vi. Puede reemplazar "vi" con su editor de texto preferido.
- Escriba "export JAVA_HOME = / usr / local / java /" en la parte inferior del archivo. Reemplace "/ usr / local / java" con la ubicación que se encuentra en el paso dos.
- Guarde y cierre el archivo "bash_profile".
- Escriba el comando "salir" para cerrar la sesión de raíz.
- Cierre la sesión del sistema y vuelva a iniciar sesión.
- Escriba el comando "echo $ JAVA_HOME" para asegurarse de que la ruta se haya configurado correctamente.
Parece que no tienes ningún problema con las variables ambientales.
Compila tu archivo desde src con
javac a/A.java
Entonces, ejecute su programa como
java aA
Tuve que cambiar /etc/profile.d/java_env.sh para apuntar a la nueva ruta y luego cerrar sesión / iniciar sesión.
Haz los siguientes pasos:
- sudo -s
- yum install java-1.8.0-openjdk-devel
- vi .bash_profile, y agregue debajo de la línea en el archivo .bash_profile y guarde el archivo.
exportar JAVA_HOME = / usr / lib / jvm / java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64 /
Nota - Estoy usando CentOS7 como sistema operativo.