私Tomcat6サーバーで使用するJREを変更する必要があります。なぜなら、埋め込みクラスをコンパイルするJSPアプリケーションがあるからですJDK 1.8.0_45
。
その後、JRE 1.8.0_40
Tomcatで使用しているため、JSPアプリケーションは実行時にエラーが発生します。
The type java.util.Map$Entry cannot be resolved. It is indirectly referenced from required .class files
だから、すでにJRE 1.8.0_45
インストールされているので、ダウンロードして解凍して次の場所に移動しました。
/usr/lib/jvm/jre1.8.0_45/
その後、更新して使用してください(ここでわかるようにスペイン語でできて申し訳ありません)。
だから私はコンピュータを再起動し、どのJREがtomcatを使用しているかを調べましたが、次のようなものが見つかりました。 (これが最善の方法ではない場合は申し訳ありません。私が考えるより簡単な方法は次のとおりです。)
ps -aux | grep tomcat
ご覧のとおり、grep出力の最初の行はtomcatの実行です(そうではありませんか?)しかし、JREの代わりにJDKを使用しているようです。。また、同じコンピュータでアプリを構築するときにも使用されますJDK1.8.0_40
。JDK1.8.0_45
JDKオプションを確認すると、選択したオプションがバージョンを指定していないため、問題があるかどうかはわかりません。
それで私の質問はこんな感じです。ただ知りたかったTomcatが使用するJDK / JREのバージョンをu45に変更する方法。
このすべての混乱を修正する必要があります。
答え1
JAVA_HOME
変数を設定することでこの問題を解決できます/etc/default/tomcat6
(デフォルトのOSにまだDebian / Ubuntu Tomcatパッケージがあるとします)。
Map$Entry
あなたが得るエラーはとても驚きです。 JDK 1.8.0_40と1.8.0_45を切り替えるとエラーが発生するとは予想されません。