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
そして、/ usr/Java/jdk1.0.7_21/binのJavaファイルをコンパイルすると、
できます。しかし、私が他のフォルダーで同じことをしているときはそうではありません。
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
。
=================私が直面しているエラー======================
when I command 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 part。path is /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/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
他の部品が解決に役立つ場合があります。
which Java
は「/ usr/Java/bin」を出力します。シンボリックリンクがあります。そのような関心をありがとう。理解できなくても。あなたの助けは私にとって大きな癒しでした:D再びありがとう。
/ home/prasanthにaという名前のフォルダーを作成し、コードをA.Javaという名前のファイルにコピーしました。/home/prasanthからjavac a/A.Java
としてコンパイルし、javac a.A
を実行します。私は次のように出力しました
a!
検索 ここ centos jreはすべてのユーザーをインストールします:
CentOSで環境変数を設定する最も簡単な方法は、エクスポートを次のように使用することです
$> export Java_HOME=/usr/Java/jdk.1.5.0_12
$> export PATH=$PATH:$Java_HOME
ただし、このような方法で設定された変数は一時的なものです。つまり、シェルを終了するとすぐに消えます。これは、システムの再起動時にも持続する必要のある環境変数を設定する場合、明らかに役に立ちません。このような場合、システム全体のプロファイル内で変数を設定する必要があります。 CentOS(私はv5.2を使用しています)では、フォルダー/etc/profile.d/がシステムプロファイルにカスタマイズを追加するための推奨される場所です。たとえば、Sun JDKをインストールするときに、Java_HOMEおよびJRE_HOME環境変数を設定する必要がある場合があります。この場合:[Java.sh
という新しいファイルを作成します
vim /etc/profile.d/Java.sh
このファイル内で、必要な環境変数を初期化する
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
マシンを再起動すると、Java.sh内の環境変数が自動的に初期化されます(/etc/profile.d/のファイルのロード方法に興味がある場合は、/ etc/profileをチェックアウトしてください)。
PS:マシンを再起動せずにJava.sh
内の環境変数をロードする場合、次のようにsourceコマンドを使用できます。
$> source Java.sh
手順:
which Java
を入力して、Java実行可能ファイルへのパスを見つけます。su -
を入力して、rootユーザーになります。vi /root/.bash_profile
を入力して、Viテキストエディターでシステムbash_profileファイルを開きます。 viを好みのテキストエディタに置き換えることができます。export Java_HOME=/usr/local/Java/
と入力します。 /usr/local/Java
をステップ2で見つかった場所に置き換えます。exit
を入力して、ルートセッションを閉じます。echo $Java_HOME
を入力して、パスが正しく設定されたことを確認します。環境変数に問題はないようです。
Srcからファイルをコンパイルします
javac a/A.Java
次に、プログラムを次のように実行します
Java a.A
javac
の提供は/etc/alternatives/javac
、. bash_profileに追加できます。
Java_HOME=$(l=$(which javac) ; while : ; do nl=$(readlink ${l}) ; [ "$nl" ] || break ; l=$nl ; done ; echo $(cd $(dirname $l)/.. ; pwd) )
export Java_HOME
新しいパスを指すように/etc/profile.d/Java_env.shを変更してから、ログアウト/ログインする必要がありました。
次の手順を実行します:
export Java_HOME =/usr/lib/jvm/Java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64 /
注-OSとしてCentOS7を使用しています。