これに記載されているすべての指示に従いました question ですが、最後の部分でいくつかの問題が発生しています。
私は実際にJavaのバージョン6.22を所有していますが、バージョン6.30に更新したいと思います。
抽出されたディレクトリJava-6-Oracle
を/usr/lib/jvm
に移動した後、上記の回答で指摘されているスクリプトがJava 5からJava 6。
わかりやすくするために、ディレクトリ/usr/lib/jvm
でls
を実行すると、ここに出力されます。
$ ls -l /usr/lib/jvm
total 8
lrwxrwxrwx 1 root root 14 2011-07-12 15:18 default-Java -> Java-6-openjdk
lrwxrwxrwx 1 root root 14 2011-07-12 12:19 Java-1.6.0-openjdk -> Java-6-openjdk
drwxr-xr-x 10 root root 4096 2012-04-12 12:06 Java-6.31-Oracle
drwxr-xr-x 7 root root 4096 2012-02-24 14:43 Java-6-openjdk
私は今どうすればいい?
追加された部分
@fossfreedomの提案の下で、とにかくスクリプトを実行し、実際にJavaバージョンを更新しました。
実際、コマンドを実行するとJava -version
出力は次のようになります。
$ Java -version
Java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b04)
Java HotSpot(TM) Server VM (build 20.6-b01, mixed mode)
まだ問題があります。Irun javac -version
を実行すると、古いバージョンがインストールされます:
$ javac -version
javac 1.6.0_22
そして、ここでテスターを使用すると link バージョンが
Java Version 1.6.0_22 from Sun Microsystems Inc.
何が悪いの?
Java Runtime Environmentは更新されたようですが、Javaコンパイラとブラウザ用のJavaプラグインは更新されていません。
どうすれば更新できますか?
その他の追加部分
Sudo update-alternatives --config Java
は次の出力を返します
$ Sudo update-alternatives --config Java
There are 2 choices for the alternative Java (providing /usr/bin/Java).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/jvm/Java-6.31-Oracle/bin/Java 1062 auto mode
1 /usr/lib/jvm/Java-6-openjdk/jre/bin/Java 1061 manual mode
2 /usr/lib/jvm/Java-6.31-Oracle/bin/Java 1062 manual mode
Press enter to keep the current choice[*], or type selection number:
これらは、JREがバージョン6.31に正しく更新され、JavaコンパイラーおよびJavaブラウザープラグインに問題があるという事実から理にかなっています。
何か案は?
最初の質問について:
おそらく、webupd8スクリプトが0.5bであると混乱するかもしれません。これはスクリプトのバージョンです-Javaバージョンを参照しません。
さらにjavacバージョンの設定。
Javacコンパイラのパスを明示的に指定する必要があると思います
つまり.
Sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/Java-6.31-Oracle/bin/javac" 1
に続く:
Sudo update-alternatives --config javac
Java chromeプラグインのセットアップに関して。
マスター質問:
この情報が含まれます-フォルダー構造がわずかに異なるため、リンクコマンドは次のようになります。
ln -s /usr/lib/jvm/Java-6.31-Oracle/jre/lib/i386/libnpjp2.so ~/.mozilla/plugins/
this ;を参照してください。走る
Sudo update-Java-alternatives --list
マシン上のすべてのJavaインストールを名前とディレクトリでリストし、実行します
Sudo update-Java-alternatives --set [JDK/JRE name e.g. Java-8-Oracle]
使用するJRE/JDKを選択します。
Javaタスクごとに異なるJDK/JREを使用する場合は、update-alternativesを実行して、一度に1つのJava実行可能ファイルを構成できます。あなたは走ることができます
Sudo update-alternatives --config Java[Tab]
設定可能なJavaコマンド(Java、javac、javah、javawsなど)を確認します。その後
Sudo update-alternatives --config [javac|Java|javadoc|etc.]
そのJavaタスク/コマンドを特定のJDK/JREに関連付けます。
一部のアプリケーションではJava_HOMEを設定する必要がある場合もあります。from this answer you can use
export Java_HOME=$(readlink -f /usr/bin/Java | sed "s:bin/Java::")
jREの場合、または
export Java_HOME=$(readlink -f /usr/bin/Java | sed "s:jre/bin/Java::")
jDKの場合。
update-Java-alternatives
パッケージのJava-common
コマンドと、それが使用する*.jinfo
ファイルをご覧ください。これにより、Javaインストールを完全に切り替えることができます(JDK、JREなどに関係なく)。
Ubuntu/linuxでは、次を使用してJavaバージョンを切り替えることができます
update-alternatives --config Java
ただし、その前にバージョンをインストールする必要があります。
このスクリプト(./install-Java.sh)を使用して、複数のJVMをインストールできます。
#!/bin/sh
(
lookforJdks=$PWD
echo "Directory: $lookforJdks"
jdks=`test -e ./javac || find $lookforJdks -type d -iname '*jdk1.*' 2> /dev/null`
#set -e
echo 'which jdk do you want to choose? looking for jdks. This might take a while'
echo "$jdks" | awk '{printf("%5d : %s\n", NR,$0)}'
read choose
test -e ./javac || cd `echo "$jdks" | tr '\n' ',' | cut -d',' -f $choose`/bin
for e in appletviewer extcheck idlj jar jarsigner Java javac javadoc javah javap jconsole \
jdb jhat jinfo jmap jps jrunscript jsadebugd jstack jstat jstatd native2ascii rmic \
schemagen serialver wsgen wsimport xjc jvisualvm jmc; do Sudo update-alternatives \
--install /usr/bin/$e $e $(readlink -f ./$e) 100; done
)
echo "RUN update-alternatives --config Java"
JVMを解凍したフォルダーにこのスクリプトを配置し、実行します:
/opt/install-Java.sh
次の使用:
update-alternatives --config Java
Javac javaws javadocまたはその他のJava関連コマンドの代替を手動で設定する場合は、Java代替のスレーブにすることができます。
Sudo update-alternatives --install "/usr/bin/Java" "Java" "/opt/jdk1.8.0_74/bin/Java" 0 --slave "/usr/bin/javadoc" "javadoc" "/opt/jdk1.8.0_74/bin/javadoc"
update-alternatives: updating alternative /opt/jdk1.8.0_74/bin/Java because link group Java has changed slave links
:/opt/jdk1.8.0_74$ Sudo update-alternatives --display Java
Java-自動モードリンクの最適なバージョンは/opt/jdk1.8.0_74/bin/Javaリンクが現在/opt/jdk1.8.0_74/bin/Javaリンクを指しているJavaは/ usr/bin/Javaスレーブjavadocは/ usr/bin/javadoc /opt/jdk1.8.0_74/bin/Java-優先度0のスレーブjavadoc:/opt/jdk1.8.0_74/bin/javadoc
/opt/jdk1.8.0_74/をjdkがインストールされているディレクトリに変更します。
テキストエディタで/etc/environment
を開き、次の行を追加します。
Java_HOME="usr/lib/jvm/open-jdk
-Javaパスは異なる可能性があります。
次のコマンドを実行して、ソースを使用して変数をロードします。
source /etc/environment
次に、次のコマンドを実行して変数を確認します。
echo $Java_HOME
このパスを設定して、次のコマンドを実行します。
Sudo update-Java-alternatives --list
デフォルトのJavaバージョンを選択します。