2013-01-11 35 views
3
等/環境

不能設置在/etc/enviromentJAVA_HOMEJAVA_HOME="/home/syncsys/bin/jdk1.7.0_10/"Java的家在Ubuntu的

命令echo $JAVA_HOME給我/home/syncsys/bin/jdk1.7.0_10/,但它不是一個正確的Java HOME或者我需要別的東西?

我不想要bashrc或配置文件(一些問題)。只有/etc/enviroment和一種方法可以在/etc/enviroment更新後消除重新啓動的需要。

我的/ etc/envirment的:

JAVA_HOME="/home/syncsys/bin/jdk1.7.0_10" 
PATH=$JAVA_HOME:$PATH 
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games" 

一些命令來測試:

[email protected]:~$ JAVA_HOME=/home/syncsys/bin/jdk1.7.0_10 
[email protected]:~$ export JAVA_HOME 
[email protected]:~$ PATH=$JAVA_HOME:$PATH 
[email protected]:~$ export PATH 
[email protected]:~$ java -version 
The program 'java' can be found in the following packages: 
* default-jre 
* gcj-4.6-jre-headless 
* gcj-4.7-jre-headless 
* openjdk-7-jre-headless 
* openjdk-6-jre-headless 

更新:

$ cat /etc/environment 
JAVA_HOME="/home/syncsys/bin/jdk1.7.0_10" 
PATH="$JAVA_HOME/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games" 
[email protected]:~$ java -version 
The program 'java' can be found in the following packages: 

--------(已解決)--------現在可以使用的工作樣本。

$ cat /etc/environment JAVA_HOME="/home/syncsys/bin/jdk1.7.0_10" PATH="/home/syncsys/bin/jdk1.7.0_10/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin‌​:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games" 

我已經閱讀了大量的教程和這個類似論壇的帖子,但它不工作。

+0

刪除路徑末尾的斜線。 –

+0

好的。以及如何消除需要重新啓動後/ etc /環境updations – kevin

+0

你做了複製粘貼錯誤在你的問題?你設置的java-home和echo cmd給你的是完全一樣的... – Kent

回答

5

aha!我看到這個問題...

您的JAVA_HOME是正確的(如果路徑指向您的JDK,我希望如此)。問題是,你應該改變

PATH=$JAVA_HOME:$PATH 

PATH=$JAVA_HOME/bin:$PATH 

因爲可執行文件的 「java」 是不是在你的JAVA_HOME,它坐落在JAVA_HOME/bin中

+0

yes。我懷疑是這樣。但我的/ etc /環境已經有PATH =「/ usr/local/sbin:/ usr/local/bin:/ usr/sbin:/ usr/bin:/ sbin:/ bin:/ usr/games:/ usr/local/games:「 那我該怎麼辦? – kevin

+0

$ cat/etc/environment JAVA_HOME =「/ home/syncsys/bin/jdk1.7.0_10」 PATH =「$ JAVA_HOME/bin:/ usr/local/sbin:/ usr/local/bin:/ usr/sbin :/ usr/bin:/ sbin:/ bin:/ usr/games:/ usr/local/games「 syncsys @ sync-pc:〜$ java -version 程序'java'可以在以下軟件包中找到: – kevin

+0

這是我的答案中的拼寫錯誤。我修好了它。 – djangofan

1

你可以安裝一個名爲「galternatives」的程序,它會給你一個你的替代符號鏈接到你的java二進制文件的可視化表示。

當然,你也可能在shell腳本設置JAVA_HOME單獨(作爲替代),像這樣:

JAVA_HOME=/any/location/i/want 
export JAVA_HOME 
PATH=$JAVA_HOME/bin:$PATH 
export PATH 
+0

does not working'$ JAVA_HOME =/home/syncsys/bin/jdk1。 7.0_10 syncsys @ sync-pc:〜$ export JAVA_HOME syncsys @ sync-pc:〜$ PATH = $ JAVA_HOME:$ PATH syncsys @ sync-pc:〜$ export PATH syncsys @ sync-pc:〜$ java -version 程序的Java'可以在下面的包中找到: *默認的JRE * GCJ-4.6的JRE,無頭 * GCJ-4.7的JRE,無頭 *的OpenJDK-7的JRE,無頭 * openjdk-6-jre-headless' – kevin

+0

這個工程$ c在/ etc /環境下JAVA_HOME =「/ home/syncsys/bin/jdk1.7.0_10」PATH =「/ home/syncsys/bin/jdk1.7.0_10/bin:/ usr/local/sbin:/ usr/local/bin :/ usr/sbin:/ usr/bin:/ sbin:/ bin:/ usr/games:/ usr/local/games「 – kevin

0

嘗試在你的shell:

出口JAVA_HOME =/etc/environment中

如果工作,編輯您的.bash_profile文件併爲每個會話再次添加此行

+0

no does not works – kevin

+0

thanks。但我不想要bashrc或配置文件(一些問題)。 – kevin

+0

$ cat/etc/environment JAVA_HOME =「/ home/syncsys/bin/jdk1.7.0_10」PATH =「/ home/syncsys/bin/jdk1.7.0_10/bin:/ usr/local/sbin:/ usr/local/bin:/ usr/sbin:/ usr/bin:/ sbin:/ bin:/ usr/games:/ usr/local/games「 – kevin

0

我有同樣的問題,這是我的解決方案:

$] uname -a 

Linux ******* x86_64 x86_64 x86_64 GNU/Linux 

=>下載斌:JDK-6u45-linux的-x64.bin =>在我的安裝位置

$]chmod u+x jdk-6u45-linux-x64.bin 
$]./jdk-6u45-linux-x64.bin 
... 
Done 

$]cd jdk1.6.0_45/jre/bin 
$]./java -version 

java version "1.6.0_45" 
Java(TM) SE Runtime Environment (build 1.6.0_45-b06) 
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode) 

它的工作原理..

1 /檢查您的服務器配置 2 /在解包後驗證diretories的所有者。 2/use binary pacquage .bin

此致敬禮。

Richy。