代码之家  ›  专栏  ›  技术社区  ›  David Titarenco

Linux环境下安装JavaEE SDK的问题

  •  19
  • David Titarenco  · 技术社区  · 16 年前

    我把Java 6 JRE安装在我的VPS上很好,但是我不能让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"
    

    我要把头发拔出来,有什么想法吗?

    8 回复  |  直到 12 年前
        1
  •  15
  •   matt b    16 年前

    是否安装了JDK?你可能想把 $JDK_HOME/bin 在你的道路上,而不是 /bin 一个JRE,AS jar 附带JDK,而不是JRE。

        2
  •  7
  •   Dave Jarvis James Eichele    14 年前

    这样做:

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

      java_home=/opt/jdk
      路径=$path:$home/bin:$java_home/bin

    5. 注销并重新登录。

    这提供了许多优势:

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

    我已经做了很多年,在Linux上从来没有遇到过Java问题,除了那些没有检测到安装Java并试图安装OpenJDK的包。

    另外,远离openjdk,因为它的字体很难看。

        3
  •  4
  •   janex    13 年前

    快速而肮脏的解决方案:

    sudo apt-get install jarwrapper fastjar
    

    然后运行你的.sh脚本,瞧!

        4
  •  3
  •   biera    14 年前

    我也犯了同样的错误。我使用APT get(我运行Ubuntu 11.10)删除了OpenJDK,然后下载了Java JDK 1.7(当然是JRE),并将它下载到Us/Ur/Prime/Java-这给了我一个新目录:

    /usr/local/java/jdk1.7.0_04
    

    接下来我补充说:

    /Ur/Prase/Java/JDK1.7.0S04
    

    到$path,将$java_home和$jre_home设置为

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

    分别。

    一切都很好。我可以编译Java进程 贾瓦克 然后用 爪哇 . 罐子 程序运行也很好。那么为什么JavaEE安装程序会抱怨呢?有没有关于如何解决这个问题的线索?

        5
  •  3
  •   Roy    13 年前

    我遇到了这个问题,但是它与执行.sh文件时的sudo用户帐户有关。 我当时正在一个新的vps主机服务器上安装Glassfish v3,该服务器带有Ubuntu 10.4 64位操作系统。

    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_主页之后: /etc/bash.bashrc

    JAVA_HOME=/opt/jdk
    export JAVA_HOME
    
    PATH=$PATH:$JAVA_HOME/bin
    export PATH
    
        6
  •  1
  •   Ramu Nachiappan    16 年前

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

    然而,一旦我包含了一个符号链接 jar 在里面 /仓 正如预期的那样,安装Java EE的shell脚本运行。

        7
  •  1
  •   Javier Garay    14 年前

    这个信息对我有用…第一种方法很简单。

    当做。

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

        8
  •  1
  •   Lorenzo Solano Martinez    14 年前

    我的2美分…

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

    AS “马特B” 说问题是(我的问题),安装程序找不到运行安装文件所需的jar实用程序(jar程序)。

    是否安装了JDK?您可能希望将$jdk_home/bin放在您的路径上,而不是jre的/bin,因为jar与jdk一起提供,而不是jre。

    但是在我的例子中(Ubuntu11.10x64和Java_Home-->/usr/lib/jvm/java-6-openjdk),这个问题并没有通过在路径上设置jdk/bin dir来解决。相反,我必须安装一个jar实用程序包(使用synaptic),名为jarWrapper版本0.37ubuntu1。

    安装之后,Oracle的JDK(java_esdk-6u3-jdk7-linux-x64-ml.sh)的安装脚本运行得很好。

    当做,

    推荐文章