настройка JAVA_HOME & CLASSPATH в CentOS 6
Я распаковал мой jdk в / usr / java /.
и я поместил 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
И когда я скомпилирую некоторый файл Java в /usr/java/jdk1.0.7_21/bin,
оно работает. Но когда я делаю то же самое в другой папке, это нет.
Он отображает NoClassDefFoundError.
Итак, я проверил 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. Конечно, я сделал.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 часть. путь /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 / часть профиля. левая часть по умолчанию.
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
принты "/ USR / Java / бен», там'символическая ссылкаМое местоположение jdk - /usr/java/jdk1.7.0_21. внутри ./bin каждый код работает нормально.Я не трогал /root/.bash_profile. Я только что отредактировал / etc / profile.Спасибо за такой интерес. хотя и не разобрался. твоя помощь была для меня большим исцелением: D Еще раз спасибо.