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
ただし、問題は、環境変数を正しく設定していることです。
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
は、JDKに付属しているとして、あなたはおそらく、あなたのPATH、JREのない/bin
にjar
を置きたい、ではないJREます。
他のヒント
これを行う:
- Java のインストールをすべて削除します。
- をインストールします Java SDK (自己解凍) に /opt/jdk1.6.0_16 (例えば)
- シンボリックリンクを作成します。
ln -s /opt/jdk1.6.0_16 /opt/jdk
編集
$HOME/.bashrc
:JAVA_HOME=/opt/jdk
PATH=$PATH:$HOME/bin:$JAVA_HOME/binログアウトして再度ログインします。
これには多くの利点があります。
- シンボリック リンクを切り替えるだけで、複数のバージョンの SDK をインストールできます。
- すべてのファイルがどこにあるかがわかります。
- 使用されている Java のバージョンを正確に把握できます。
- 他のバージョンはインストールされていないため、競合は発生しません。
私はこれを何年も行ってきましたが、Java がインストールされていることを検出せず、OpenJDK をインストールしようとするパッケージを除いて、Linux 上の Java で問題が発生したことはありません。
また、OpenJDK のフォントはひどいものであるため、OpenJDK には近づかないでください。
私のために迅速かつ汚いソリューション:
sudo apt-get install jarwrapper fastjar
それからちょうどあなた.SHスクリプトと出来上がりを実行します!
同じエラーが発生しました。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
それぞれ。
すべてがうまく機能します。次を使用して Java プログラムをコンパイルできます ジャバック そしてそれらを使用して実行します ジャワ. 瓶 プログラムも正常に動作します。では、なぜ Java ee インストーラーはそれについて文句を言うのでしょうか?それを修正する方法として何か手がかりはありますか?
私は.SHファイルを実行する際に、しかし、それは、sudoのユーザアカウントに関連していた、問題を抱えていました。 私はUbuntuの10.4 64 - OSをサーバーにホストされた新しい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
私の場合、私はjdk1.6.0_16自分のホームディレクトリに抽出しjava
に/javac
と/bin
へのシンボリックリンクを持っていました。その後、私は質問に、上記のエラーが発生しました。
jar
に/bin
へのシンボリックリンクが含まれていたら、予想通りただし、Java EEをインストールするためのシェルスクリプトが走っています。
この情報は、私の作品...第一の方法はenoughtだっます。
よろしくます。
http://ubuntuforums.org/showthread.php?p=11485538#post11485538 >
私の2セントは…
私も同じ問題を抱えており、jar ユーティリティをインストールすることで解決しました。
として 「マットB」 問題は(私の問題ですが)、インストーラーがインストールファイルを実行するために必要なjarユーティリティ(jarプログラム)を見つけられなかったことです。
JDKはインストールされていますか?jar には JRE ではなく JDK が付属しているため、JRE の /bin ではなく $JDK_HOME/bin を PATH に配置することをお勧めします。
しかし、私の場合 (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) は問題なく実行されました。
よろしく、