Ash*_*wal 131 java ubuntu java-home
如何将JAVA_HOMEUbuntu中的值更改为指向Oracle的Java?
应该指向java-6-sun还是java-6-sun-1.6.0.24?
srk*_*Z84 172
我把线放了:
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
Run Code Online (Sandbox Code Playgroud)
在我的~/.bashrc档案中.
/usr/lib/jvm/java7-oracle应该是一个指向的符号链接/usr/lib/jvm/java-7-oracle-[version number here].
它是一个符号链接的原因是,如果有一个新版本的JVM,你不需要更新你的.bashrc文件,它应该自动指向新版本.
如果要在全局和系统级别设置JAVA_HOME环境变量,则意味着应在/ etc/environment文件中设置.
met*_*dos 165
如果要在全局和系统级别进行更改;
在
/etc/environment
Run Code Online (Sandbox Code Playgroud)
添加此行:
JAVA_HOME=/usr/lib/jvm/java-7-oracle
Run Code Online (Sandbox Code Playgroud)
Bar*_*uda 50
将Oracle的Java SE Development Kit设置为系统默认Java只需从此处下载最新的Java SE Development Kit,然后在文件系统中的某个位置创建一个目录,例如/usr/java现在提取刚刚在该目录中下载的文件:
$ sudo tar xvzf jdk-8u5-linux-i586.tar.gz -C /usr/java
Run Code Online (Sandbox Code Playgroud)
现在设置你的JAVA_HOME环境变量:
$ JAVA_HOME=/usr/java/jdk1.8.0_05/
$ sudo update-alternatives --install /usr/bin/java java ${JAVA_HOME%*/}/bin/java 20000
$ sudo update-alternatives --install /usr/bin/javac javac ${JAVA_HOME%*/}/bin/javac 20000
Run Code Online (Sandbox Code Playgroud)
确保Oracle的java设置为默认java:
$ update-alternatives --config java
Run Code Online (Sandbox Code Playgroud)
你得到这样的东西:
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
* 0 /opt/java/jdk1.8.0_05/bin/java 20000 auto mode
1 /opt/java/jdk1.8.0_05/bin/java 20000 manual mode
2 /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java 1061 manual mode
Press enter to keep the current choice[*], or type selection number:
Run Code Online (Sandbox Code Playgroud)
注意左边数字前面的星号,如果没有设置正确的星号,请输入正确的数字,然后按回车键选择正确的数字.现在测试你的java:
$ java -version
Run Code Online (Sandbox Code Playgroud)
如果你得到类似下面的东西,你很高兴:
java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) Server VM (build 25.5-b02, mixed mode)
Run Code Online (Sandbox Code Playgroud)
另请注意,您可能需要root权限或处于sudoers组才能执行此操作.我已经在ubuntu 12.04和Debian wheezy上测试了这个解决方案,它在两者中都有效.
Jit*_*its 19
如果您希望所有用户和系统启动都可以使用此环境变量,那么您可以将以下内容添加到/etc/profile.d/java.sh(如有必要,请创建它):
export JDK_HOME=/usr/lib/jvm/java-7-oracle
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
Run Code Online (Sandbox Code Playgroud)
然后在终端运行中:
sudo chmod +x /etc/profile.d/java.sh
source /etc/profile.d/java.sh
Run Code Online (Sandbox Code Playgroud)
我的第二个问题是 - 它应该指向java-6-sun还是java-6-sun-1.6.0.24?
它应始终指向java-7-oracle最新安装的符号链接(假设您从Ubuntu存储库安装Java,现在从oracle.com上的下载安装).
Rom*_*rov 12
java 6
export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-amd64
或java 7
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64
use*_*339 10
如果您正在进行任何类型的开发,则需要指向JDK(Java Development Kit).否则,您可以指向JRE(Java运行时环境).
JDK包含JRE的所有内容以及更多内容.如果您只是执行Java程序,则可以指向JRE或JDK.
您应该JAVA_HOME 根据您正在使用的当前Java进行设置.
readlink将打印当前Java的符号链接值,sed并将其调整为JRE目录:
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
Run Code Online (Sandbox Code Playgroud)
如果要将JAVA_HOME设置为JDK,则应该更多地添加一个文件夹:
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:jre/bin/java::")
Run Code Online (Sandbox Code Playgroud)
如果要在安装多个JDK时使用特定版本的Java,则仅设置JAVA_HOME可能不起作用.
您需要使用sudo update-alternatives --config java设置默认Java.
请参阅https://askubuntu.com/questions/121654/how-to-set-default-java-version.
看到这个;跑
sudo update-java-alternatives --list
Run Code Online (Sandbox Code Playgroud)
按名称和目录列出机器上的所有 Java 安装,然后运行
sudo update-java-alternatives --set [JDK/JRE name e.g. java-8-oracle]
Run Code Online (Sandbox Code Playgroud)
选择要使用的 JRE/JDK。
如果您想为每个 Java 任务使用不同的 JDK/JRE,您可以运行 update-alternatives 一次配置一个 Java 可执行文件;你可以跑
sudo update-alternatives --config java[Tab]
Run Code Online (Sandbox Code Playgroud)
查看可以配置的 Java 命令(java、javac、javah、javaws 等)。进而
sudo update-alternatives --config [javac|java|javadoc|etc.]
Run Code Online (Sandbox Code Playgroud)
将该 Java 任务/命令关联到特定的 JDK/JRE。
您可能还需要为某些应用程序设置 JAVA_HOME:从这个答案中,您可以使用
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
Run Code Online (Sandbox Code Playgroud)
对于 JRE,或
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:jre/bin/java::")
Run Code Online (Sandbox Code Playgroud)
对于 JDK。
| 归档时间: |
|
| 查看次数: |
296172 次 |
| 最近记录: |