在 CentOS 6 中设置 JAVA_HOME & CLASSPATH
我已经在/usr/java/中解压缩了我的jdk。
我把CLASSPATH,PATH,JAVA_HOME放到/etc/profile中,如下所示。
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
当我在/usr/java/jdk1.0.7_21/bin中编译一些java文件时,
它的工作原理。但是当我在其他文件夹上做同样的事情时,它不会。
它显示NoClassDefFoundError。
所以我通过echo检查了ClasSPATH,PATH JAVA_HOME。
它如下所示。
[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
我想在控制台中使用java,在这种情况下我该怎么办?
提前致谢。
PS. 的 couse 我做了 .source /etc/profile
====================我面临的错误 ==========================
当我命令java A(我的类名是A)时。
Error: Could not find or load main class A
case I 命令 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)
========================我的代码的完整内容=========================================.java================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
package a;
public class A {
public static void main(String[] args) {
System.out.println("a!\n");
}
}
/etc/profile part.left 部分是默认的。
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
其他部分可能有助于解决。
-
which java
prints “/usr/java/bin”.有符号链接。 - 我的jdk位置是/usr/java/jdk1.7.0_21。在./bin中,每个代码都可以正常工作。
- 我没有触摸/root/.bash_profile。我刚刚编辑了/etc/profile。
感谢您的关注。即使它没有弄清楚。你的帮助对我有很大的治愈:D再次感谢。