【问题标题】:Problems installing Java EE SDK on Linux在 Linux 上安装 Java EE SDK 时出现问题
【发布时间】:2011-01-14 12:34:05
【问题描述】:

我在我的 VPS 上安装了 Java 6 JRE 就好了,但我什至无法运行 EE SDK 安装。

root@vps [/usr/java]# java -version
java version "1.6.0_18"
Java(TM) SE Runtime Environment (build 1.6.0_18-b07)
Java HotSpot(TM) Client VM (build 16.0-b13, mixed mode)

但是,当我尝试运行 java_ee_sdk-6-unix.sh:

./  ../  java_ee_sdk-6-unix.sh*  jre1.6.0_18/  jre.bin*
root@vps [/usr/java]# ./java_ee_sdk-6-unix.sh

Could not locate a suitable jar utility.
Please ensure that you have Java 6 or newer installed on your system
and accessible in your PATH or by setting JAVA_HOME

但问题是我正确设置了环境变量:

root@vps [/usr/java]# echo $PATH
/usr/java/jre1.6.0_18:/usr/java/jre1.6.0_18/bin:/usr/java/jre1.6.0_18/jre/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/bin:/sbin
root@vps [/usr/java]# export -p | grep JAVA_HOME
declare -x JAVA_HOME="/usr/java/jre1.6.0_18"

我在这里拉头发,有什么想法吗?

【问题讨论】:

  • 你的发行版没有包管理器吗?你为什么不用那个?
  • 我不认为我可以通过 rpm 获得 EE SDK。 java.sun.com/javaee/downloads/index.jsp - Sun 只是将其作为 .sh 安装分发。
  • “哪个罐子”说什么?
  • 它什么也没说。与 whereis jar 相同。
  • 修复该问题 - 将 jar 放在路径上,然后查看您的安装程序是否有效。

标签: java linux installation sh


【解决方案1】:

你有安装 JDK 吗?您可能希望将 $JDK_HOME/bin 放在您的 PATH 中,而不是 JRE 的 /bin,因为 jar 随 JDK 而不是 JRE。

【讨论】:

    【解决方案2】:

    这样做:

    1. 删除所有 Java 安装。
    2. Java SDK(自解压)安装到/opt/jdk1.6.0_16(例如)
    3. 创建符号链接:ln -s /opt/jdk1.6.0_16 /opt/jdk
    4. 编辑$HOME/.bashrc:

      JAVA_HOME=/opt/jdk
      PATH=$PATH:$HOME/bin:$JAVA_HOME/bin

    5. 退出并重新登录。

    这有很多好处:

    • 您可以安装多个版本的 SDK,只需要切换一个符号链接。
    • 您知道所有文件的位置。
    • 您确切知道正在使用哪个版本的 Java。
    • 没有安装其他版本,所以不会有任何冲突。

    我已经这样做了多年,在 Linux 上使用 Java 从来没有遇到过任何问题,除了没有检测到 Java 已安装并尝试安装 OpenJDK 的软件包。

    此外,请远离 OpenJDK,因为它的字体很难看。

    【讨论】:

      【解决方案3】:

      在我的例子中,我在我的主目录中提取了 jdk1.6.0_16,并在/bin 中有一个指向java/javac 的符号链接。然后我在问题中遇到了上述错误。

      但是,一旦我在 /bin 中包含了指向 jar 的符号链接,安装 Java EE 的 shell 脚本就会按预期运行。

      【讨论】:

        【解决方案4】:

        此信息对我有用...第一种方法就足够了。

        问候。

        http://ubuntuforums.org/showthread.php?p=11485538#post11485538

        【讨论】:

          【解决方案5】:

          我的 2 美分...

          我有同样的问题,通过安装一个jar实用程序来解决它。

          正如 "matt b" 所说,问题是(我的问题),安装程序没有找到运行安装文件所需的 jar 实用程序(jar 程序)。

          您是否安装了 JDK?您可能希望将 $JDK_HOME/bin 放在 PATH 上,而不是 JRE 的 /bin,因为 jar 是 JDK 附带的,而不是 JRE。

          但在我的情况下(具有 Ubuntu 11.10 x64 和 JAVA_HOME --> /usr/lib/jvm/java-6-openjdk)问题并没有通过在 PATH 上设置 JDK/bin 目录来解决。相反,我必须安装一个名为 Jarwrapper 版本 0.37ubuntu1 的 jar 实用程序包(使用 Synaptic)。

          安装后Oracle的JDK安装脚本(java_ee_sdk-6u3-jdk7-linux-x64-ml.sh)运行正常。

          问候,

          【讨论】:

            【解决方案6】:

            我遇到了同样的错误。我使用 apt-get 删除了 OpenJDK(我正在运行 Ubuntu 11.10),然后下载了 Java JDK 1.7(当然 JRE 附带)并将其解压缩到 /usr/local/java 下——这给了我新目录:

            /usr/local/java/jdk1.7.0_04
            

            接下来我补充说:

            /usr/local/java/jdk1.7.0_04
            

            到$PATH,设置$JAVA_HOME 和$JRE_HOME 为

            /usr/local/java/jdk1.7.0_04
            /usr/local/java/jdk1.7.0_04/jre
            

            分别。

            一切都很好。我可以使用 javac 编译 java 程序并使用 java 运行它们。 Jar 程序也运行良好。那么为什么 java ee 安装程序会抱怨呢?关于如何解决这个问题的任何线索?

            【讨论】:

            • 问题不再有效,问题是我试图以 sudo bash java_ee_sdk-6u4-unix.sh 身份运行安装程序,我只是使用 su 切换到 root 帐户和有用! :D
            • 当然是因为 root 有不同的 $PATH 变量。切换到 root 用户后,您必须将 $JAVA_HOME(需要再次设置此变量)添加到 $PATH (PATH=$PATH:$JAVA_HOME)。
            【解决方案7】:

            对我来说快速而肮脏的解决方案:

            sudo apt-get install jarwrapper fastjar
            

            然后只需运行您的 .sh 脚本,瞧!

            【讨论】:

              【解决方案8】:

              我遇到了问题,但是它与执行 .sh 文件时的 sudo 用户帐户有关。 我正在使用 Ubuntu 10.4 64 位操作系统的新 VPS 托管服务器上安装 Glassfish v3。

              sudo chmod +x java_ee_sdk-6u2-jdk-linux-x64.sh
              
              sudo ./java_ee_sdk-6u2-jdk-linux-x64.sh -s -a java_ee_sdk-6u2-jdk-linux-x64-install-answers.txt
              

              只是为了得到与您第一次遇到的完全相同的错误:

              Could not locate a suitable jar utility.
              Please ensure that you have Java 6 or newer installed on your system
              and accessible in your PATH or by setting JAVA_HOME
              

              真的很傻,当我这样运行命令时:

                ./java_ee_sdk-6u2-jdk-linux-x64.sh -s -a java_ee_sdk-6u2-jdk-linux-x64-install-answers.txt
              

              令我惊讶的是它的回应是:

              Welcome to GlassFish V3 installer
              
              Using the user defined JAVA_HOME : /opt/jdk
              Entering setup...
              

              这是在我在文件中设置我的 JAVA_HOME 之后:/etc/bash.bashrc

              JAVA_HOME=/opt/jdk
              export JAVA_HOME
              
              PATH=$PATH:$JAVA_HOME/bin
              export PATH
              

              【讨论】:

                猜你喜欢
                • 2012-12-14
                • 1970-01-01
                • 1970-01-01
                • 2013-08-07
                • 2020-08-28
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2017-12-19
                相关资源
                最近更新 更多