在Linux上安装Java EE SDK的问题

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

但是问题是我正确地设置了我的环境variables:

 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" 

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

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

做这个:

  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 = /选择/ JDK
    PATH = $ PATH:$ HOME / bin中:$ JAVA_HOME / bin中

  5. 注销并重新登录。

这提供了许多优点:

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

我已经做了这么多年,从来没有任何问题与Linux上的Java,除了没有检测到Java安装并试图安装OpenJDK的软件包。

另外,远离OpenJDK,因为它的字体是可怕的。

对我来说,快速而肮脏的解决

 sudo apt-get install jarwrapper fastjar 

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

我得到了同样的错误。 我使用apt-get(我正在运行Ubuntu 11.10)删除了OpenJDK,然后下载了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安装程序会抱怨呢? 任何线索如何解决这个问题?

我遇到了这个问题,但执行.sh文件时与sudo用户帐户有关。 我在安装了Ubuntu 10.4 64Bit操作系统的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... 

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

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

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

但是,一旦我在/bin包含了一个到jar的符号链接,安装Java EE的shell脚本将按照预期运行。

这个信息适用于我…第一种方法是足够的。

问候。

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

我的2分钱…

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

由于“马特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)运行得很好。

问候,