在Centos7中设置JAVA_HOME

时间:2017-10-19 19:08:51

标签: java linux bash tomcat vim

我已经与顶级托管公司购买了VPS。我是Linux新手。由于我无法购买CPanel许可证,因此我需要手动安装JDK,Tomcat和MariaDB。所有这一切都通过SSH使用PUTTY。

我遵循了一些教程:

Setting JAVA_HOME & CLASSPATH in CentOS 6

How to Install Apache Tomcat 8.5 on CentOS 7.3

但由于我是Linux的新手,我只能安装JDK8。

现在我需要在bash文件中设置JAVA_HOME以保持永久性,然后才能继续安装tomcat。

从PUTTY,我以root用户身份使用我的密码登录:

  1. 我检查了Java "which java" : /usr/bin/java

  2. 的位置
  3. 要获取确切的jdk名称,我使用了命令"sudo update-alternatives --config java"> java-1.8.0-openjdk.x86_64(/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.144 -0.b01.el7_4.x86_64 / JRE / bin中/爪哇)

  4. 我通过命令"vim /etc/profile.d/java.sh"创建了一个新文件,该文件给出了以下错误

    E325:注意 找到一个名为“/etc/profile.d/.java.sh.swp”的交换文件           拥有者:root date:Thu Oct 19 14:21:28 2017          文件名:/etc/profile.d/java.sh           修改:是的          用户名:root主机名:rtp         进程ID:31766 打开文件“/etc/profile.d/java.sh”

    (1)另一个程序可能正在编辑同一个文件。如果是这种情况,     注意不要以两个不同的实例结束     进行更改时提交文件。退出,或继续谨慎。 (2)此文件的编辑会话崩溃。     如果是这种情况,请使用“:recover”或“vim -r /etc/profile.d/java.sh”     恢复更改(请参阅“:帮助恢复”)。     如果您已经这样做,请删除交换文件“/etc/profile.d/.java.sh.swp”     避免这个消息。

    交换文件“/etc/profile.d/.java.sh.swp”已经存在! [O] pen只读,(E)dit无论如何,(R)ecover,(D)elete it,(Q)uit,(A)bort:

  5. 我按d删除现有的。

    1. 我复制并粘贴:

      export JAVA_HOME = / usr / bin / java / java-1.8.0-openjdk.x86_64 export PATH = $ PATH:$ JAVA_HOME / bin export CLASSPATH = $ JAVA_HOME / jre / lib / ext:$ JAVA_HOME / lib / tools.jar

    2. 然后我按ENTER键 该文件处于插入模式,因此我按Esc :w java.sh保存并退出。 然后我关闭了PUTTY会话并再次启动以检查是否已设置JAVA_HOME:"echo $JAVA_HOME"

      没有结果! 我不明白该怎么做。我现在继续重复这两天。请帮忙吗?

2 个答案:

答案 0 :(得分:1)

如果您的许可证涵盖了您的使用,我强烈建议您使用Oracle的JDK RPM:安装后,它提供比OpenJDK RPM软件包更健全的目录布局:您将能够使用&# 34;在/ usr /爪哇/最新"作为Java家。 要拥有持久性环境变量,请将导出命令添加到~/.bashrc~/.bash_profile文件(取决于您执行远程登录的方式,如果不确定则将其添加到两者):export JAVA_HOME=/usr/java/latest

答案 1 :(得分:1)

在将其添加到java.sh中之前,在shell提示符下运行以下命令:

export JAVA_HOME=/usr/bin/java/java-1.8.0-openjdk.x86_64 
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar

然后运行echo $JAVA_HOME