jdk
私のサーバーから私のサーバーをアップグレードしたいのですが、いくつかCentOS
の簡単な検索の後にいくつかの解決策を見つけました。
~からこのリンク、指示が簡単であることがわかります。
rpmパッケージまたはソースコードから必要なjdkをインストールします。
いくつかの選択肢があります
新しいバージョンがインストールされていることを確認してください(
java -version
)
上記の最初の2つのステップは簡単に完了しましたが、バージョンチェックフェーズで次のエラーが発生します。
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object
私も次のことを確認しました。
alternatives --config java
そしてシンボリックリンク。
which
また、実際にJavaが実行されているリンクの方向が何であるかを調べるためにコマンドを使用してみました。
/usr/bin/java -> /etc/alternatives/java -> /usr/java/jdk-1.8.0_40/bin/java
奇妙なことは、私が実行する時です。
/usr/bin/java -version
大丈夫です。バージョンを返しますがjava
プレフィックスなしで実行すると、そのエラーが発生します。
答え1
問題はシステム変数にありますCLASSPATH
。
/etc/bashrc
そして、jdkはモジュールをロードするためにクラスとライブラリパスを知る必要があるので、ファイルのように何とかエクスポートする必要があります。
私の場合は座っていますCLASSPATH=/usr/java/jdk1.8.0_40/lib
。