【问题标题】:How Do I Set JAVA_HOME in Centos For Apache Tomcat?如何在 Centos 中为 Apache Tomcat 设置 JAVA_HOME?
【发布时间】:2018-03-31 22:04:18
【问题描述】:

我在一家顶级托管公司购买了 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. 为了获得确切的 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/java)

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

    E325: ATTENTION
    Found a swap file by the name "/etc/profile.d/.java.sh.swp"
              owned by: root   dated: Thu Oct 19 14:21:28 2017
             file name: /etc/profile.d/java.sh
              modified: YES
             user name: root   host name: rtp
            process ID: 31766
    While opening file "/etc/profile.d/java.sh"
    
    (1) Another program may be editing the same file.  If this is the case,
        be careful not to end up with two different instances of the same
        file when making changes.  Quit, or continue with caution.
    (2) An edit session for this file crashed.
        If this is the case, use ":recover" or "vim -r /etc/profile.d/java.sh"
        to recover the changes (see ":help recovery").
        If you did this already, delete the swap file "/etc/profile.d/.java.sh.swp"
        to avoid this message.
    
    Swap file "/etc/profile.d/.java.sh.swp" already exists!
    [O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:

我按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

然后我按 ENTER

文件处于插入模式,所以我按Esc :w java.sh 保存并退出。

然后我关闭了 PUTTY 会话并重新开始检查 JAVA_HOME 是否已设置:"echo $JAVA_HOME"

没有结果!

我不明白该怎么做。这两天我一直在重复这个。请问有什么帮助吗?

【问题讨论】:

    标签: java linux bash tomcat vim


    【解决方案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

    【讨论】:

      【解决方案2】:

      如果您的使用在他们的许可范围内,我强烈建议使用 Oracle 的 JDK RPM:安装后,它提供比 OpenJDK RPM 包更合理的目录布局:您可以使用“/usr/java/最新”作为 Java 主页。 要拥有持久的环境变量,请将导出命令添加到 ~/.bashrc~/.bash_profile 文件(取决于您执行远程登录的方式,如果不确定,请将其添加到两者):export JAVA_HOME=/usr/java/latest

      【讨论】:

      • 我跟着一个新手,我用了这个命令:“yum -y install java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64”我不知道如何获取 Oracle 的 JDK 还是应该替换?
      • 通常你需要一个 JDK。因此,如果您选择使用一个,最好删除另一个(只是为了让您的系统更简单)。 Oracle JDK RPM 可以从 Oracle 的网站下载。
      • 我想删除打开的 jdk,我使用了这些命令,但它不起作用:[root@rtp ~]# java -version openjdk version "1.8.0_144" OpenJDK Runtime Environment (build 1.8 .0_144-b01) OpenJDK 64-Bit Server VM (build 25.144-b01, mixed mode) [root@rtp ~]# yum -y remove java* 加载的插件:fastestmirror 参数不匹配:java.sh 没有标记为删除的包如果我决定安装 Oracle jdk8,会有什么问题吗,先生?
      • 在运行yum remove ... 之前,将您的目录更改为没有与模式java* 匹配的文件的其他目录(如您的情况下的java.sh) - YUM 首先将您的模式与本地文件匹配之后才使用 RPM 名称。
      猜你喜欢
      • 1970-01-01
      • 2013-04-22
      • 2010-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-14
      相关资源
      最近更新 更多