19

我在我的 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"

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

4

8 回答 8

15

你有安装JDK吗?您可能希望放入$JDK_HOME/bin您的 PATH,而不是/binJRE 的,就像jarJDK 一样,而不是 JRE。

于 2010-02-08T19:58:31.547 回答
7

做这个:

  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,因为它的字体很难看。

于 2010-02-08T20:09:58.933 回答
4

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

sudo apt-get install jarwrapper fastjar

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

于 2013-01-09T15:24:58.987 回答
3

我得到了同样的错误。我使用 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 安装程序会抱怨呢?关于如何解决这个问题的任何线索?

于 2012-05-16T20:10:41.517 回答
3

我遇到了问题,但是它与执行 .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
于 2013-03-10T17:27:36.267 回答
1

我的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)的安装脚本运行正常。

问候,

于 2012-01-08T05:41:01.240 回答
1

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

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

于 2010-07-26T23:05:01.253 回答
1

这个信息对我有用......第一种方法是足够的。

问候。

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

于 2011-11-24T22:10:25.973 回答