【问题标题】:Java home in etc/enviroment in UbuntuUbuntu 中 etc/environment 中的 Java_home
【发布时间】:2012-12-26 14:04:23
【问题描述】:

不能在/etc/enviroment 中设置JAVA_HOMEJAVA_HOME="/home/syncsys/bin/jdk1.7.0_10/"

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"

一些要测试的命令:

syncsys@sync-pc:~$ 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
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"
syncsys@sync-pc:~$ 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" 

我已经为此阅读了很多教程和类似的论坛帖子,但它不起作用。

【问题讨论】:

  • 删除路径末尾的斜线。
  • 好的。以及如何消除 /etc/enviroment 更新后一次又一次重启的需要
  • 您是否在问题中犯了复制粘贴错误?您设置的 java-home 和 echo cmd 给您的完全一样......
  • 一次又一次重新启动,以不适当的方式进行系统更改真是令人不快。
  • 我一直都知道unix系统不适合普通家庭用户为什么要使用呢?

标签: java ubuntu ubuntu-12.04 ubuntu-server


【解决方案1】:

您可以安装一个名为“galternatives”的程序,它可以直观地显示您的 Java 二进制文件的替代符号链接。

当然,您可以像这样在 shell 脚本中单独设置 JAVA_HOME(作为替代):

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

【讨论】:

  • 不起作用` $ 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' 可以在以下包中找到: * 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="/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"
【解决方案2】:

在你的 shell 中尝试:

导出 JAVA_HOME=/etc/environment

如果工作,编辑您的 .bash_profile 文件并为每个会话再次添加此行

【讨论】:

  • 这工作 $ 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"
【解决方案3】:

啊哈!我看到了问题...

您的 JAVA_HOME 是正确的(如果路径指向您的 JDK,我希望如此)。问题是你应该改变

PATH=$JAVA_HOME:$PATH

进入

PATH=$JAVA_HOME/bin:$PATH

因为可执行文件“java”不在您的 JAVA_HOME 中,它位于 JAVA_HOME/bin 中

【讨论】:

  • 是的。我怀疑是这样。但我的 /etc/enviroment 已经有 PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local /games:" 那我该怎么办?
  • $ 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' 可以在以下软件包:
  • 这是我的回答中的一个错字。我修好了。
  • 这工作 $ 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"
  • 是的,这正是我所说的,几乎是:java bin in path 在路径的其余部分之前,除了我在 Kent 之前说过。
【解决方案4】:

我遇到了同样的问题,这是我的解决方案:

$] uname -a

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

=> 下载一个 bin :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/ 解包后验证目录的所有者。 2/ 使用二进制打包.bin

问候。

丰富。

【讨论】:

    猜你喜欢
    • 2012-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-06
    • 2018-04-15
    • 2017-03-20
    • 1970-01-01
    相关资源
    最近更新 更多