2017-09-02 8 views
-1

私の質問は以下の通りです。/etc/profileからENV変数を設定するには?

  1. これはコードです。

    [[email protected] eclipse]# java -version 
    
    java version "1.6.0_17" 
    OpenJDK Runtime Environment (IcedTea6 1.7.4) (rhel-1.21.b17.el6-i386) 
    OpenJDK Client VM (build 14.0-b16, mixed mode) 
    
    [[email protected] eclipse]# vim /etc/profile 
    
    [[email protected] eclipse]# source /etc/profile 
    
    [[email protected] eclipse]# java -version 
    
    java version "1.6.0_17" 
    OpenJDK Runtime Environment (IcedTea6 1.7.4) (rhel-1.21.b17.el6-i386) 
    OpenJDK Client VM (build 14.0-b16, mixed mode) 
    
    [[email protected] eclipse]# ./eclipse 
    
  2. これは、以下のように私が/ etc/profileに追加したものです。

    JAVA_HOME=/root/jdk1.8.0_91 
    
    PATH=$PATH:$JAVA_HOME/bin 
    
    export JAVA_HOME PATH 
    
  3. これは、エラーメッセージJAVAのバージョンを変更する方法

    Version 1.6.0_17 of the JVM is not suitable for this product. 
    
    Version: 1.8 or greater is required. 
    
  4. のですか?

+0

最初にコードをインデントしてください。 –

+0

[https://stackoverflow.com/help/formatting](https://stackoverflow.com/help/formatting)に行きましょう... –

答えて

0

問題は、Javaの実行ファイルのバージョンがある場合、あなたのシステムがすでに知っている、とあなたはそれを(あなたのPATH変化に)見るために別の場所を指示しましたが、あなたはの終わりにすることを追加したということです見る場所のリスト。それは既にJavaの実行可能ファイルが見つかっているため、そこには表示されません。

PATH=$JAVA_HOME/bin:$PATH 

、そのまま残りの部分を残して:それを行うには

最も単純(と私は間違っていると考えている)の方法は、パスのコマンドを変更することです。これは、最初にそのJavaのフォルダに見て、あなたのシステムを教えてくれます

しかしそれは間違っている理由である、(その後、次のフォルダに見て、それを見つけていない)すべてのアプリケーションのためにそこになります - それは、あなたのコンピュータ上のものを遅くなります。

これを行うには、正しい方法で少し探偵が必要です。これは、それが(1.6.0 1)を使っているJava実行可能ファイルこれを教えてくれます

which java 

スタート。私のマシン上では、

/usr/bin/java 

大丈夫だ、そうls -lコマンドの中にそれを置く - しかし、あなたは上記ましパス代用することを忘れないでください:それは言う私のマシン上で

ls -l /usr/bin/java 

を:

lrwxrwxrwx 1 root root 22 Jul 2 11:39 /usr/bin/java -> /etc/alternatives/java 

ここの矢印は重要です(最初はlです)。矢印のないものです - それは/usr/bin/javaは、だからと再びls -lトリックを行うと、あなたはシンボリックリンクではない何かを得るまで繰り返し/etc/alternatives/java

へのシンボリックリンクであることを意味します。

[email protected] ~ $ ls -l /etc/alternatives/java 
lrwxrwxrwx 1 root root 46 Jul 2 11:39 /etc/alternatives/java -> /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 
[email protected] ~ $ ls -l /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 
-rwxr-xr-x 1 root root 6464 Jul 28 14:31 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 

私の場合は、/etc/alternatives/javaがシンボリックリンクの最後です。openjdk-amd64の場合は矢印がありませんので、シンボリックリンクではなく「実際の」ファイルです。私の場合でも、私はすでに1.8バージョンの実行可能ファイルを指しています。あなたは現在、1.6バージョンの実行可能ファイルを指しているはずです。これは変更する必要があります。

あなたがする必要があるのは、最後のシンボリックリンクを特定し、それを微調整することです。

私の場合、最後のシンボリックリンクは/etc/alternatives/javaです。

だから、(途中で、それを置くために極めて珍しい場所である、)/root/jdk1.8.0_91でJavaにリンク1を使用して、最後のシンボリックリンクを交換する必要があります。

あなたlnコマンドでこれを行う:file1あなたはを使用したいjava実行可能ファイルで、link1はあなたがlnに(詳細を見られる最後のシンボリックリンクである のln -s file1のリンク1

https://www.cyberciti.biz/faq/creating-soft-link-or-symbolic-link/)。だから今、あなたのシステム全体のデフォルトのjavaはを指します

sudo ln -s /root/jdk1.8.0_91/bin/java /etc/alternatives/java 

だから私のマシンに、あなたは私のような何かをしたい、あなたのために、あまりにもこの1を調整する必要がありますあなたが望むもの。

プロファイルにPATHの変更を加えて(エクスポートステートメントから)、JAVA_HOMEのままにしておきます。

あなたはすごくいいはずです。

関連する問題