56

システムにJava1.6とTomcat5.5がインストールされています。

しかし、Tomcat5.5はJava1.5にアクセスするため、Bad version number in .class fileJSPでJavaコードを実行しているときに、結果としてエラーが発生します。

TomcatのバージョンをJava1.6に変更するにはどうすればよいですか?

アップデート

tomcat5w.exeがバージョン1.6を指しているJVMを変更しようとしましたが、Bad version in .class fileエラーが発生しなくなりました。しかし、今、私は次のエラーを受け取ります。

exception

org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:498)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:411)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:308)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:259)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

root cause

java.lang.NullPointerException
myfirst.SearchLink.checkURL(SearchLink.java:20)
org.apache.jsp.Test_jsp._jspService(Test_jsp.java:52)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:308)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:259)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

根本的な原因は何でしょうか?

4

7 に答える 7

50

catalina.sh / catalina.batを開くと、次のように表示されます。

環境変数の前提条件

JAVA_HOME JavaDevelopmentKitのインストールを指す必要があります。

したがって、環境変数JAVA_HOMEをJava 6を指すように設定します。またJRE_HOME、同じターゲットが設定されている場合は、それを指していることを確認してください。

更新:Windowsを使用しているため、環境変数を管理する方法については、こちらを参照してください

于 2010-11-01T19:15:10.263 に答える
20

次の手順を使用して、JDKまたはJREの場所を変更できます。

  1. ターミナルまたはcmdを開きます。
  2. [tomcat-home]\binディレクトリ に移動します。
    元:c:\tomcat8\bin
  3. 次のコマンドを記述します。Tomcat8W //ES//Tomcat8
  4. ダイアログが開き、Javaタブ(トップペイン)を選択します。
  5. Java仮想マシンの値を変更します。
  6. [ OK ]をクリックします。

注: Apache TomEEでも同じ手順ですが、手順(3)のコマンドは次のようにする必要があります。TomEE //ES

于 2015-07-28T06:45:28.290 に答える
18

標準スクリプトを使用してTomcatを起動する場合(つまり、TomcatをWindowsサービスとしてインストールしていない場合)、setenv.batファイルを使用してJRE_HOMEのバージョンを設定できます。

Windowsでは、次の%CATALINA_BASE%\bin\setenv.bat内容のファイルを作成します。

set "JRE_HOME=%ProgramFiles%\Java\jre1.6.0_20"

exit /b 0

そしてそれはそれであるはずです。

これは、%CATALINA_BASE%\ bin \ configtest.batを使用してテストできます(免責事項:これはTomcat7のインストールでのみ確認しました)。

参考文献:

于 2013-07-18T05:59:57.097 に答える
13

Eclipseでは、Tomcatを新しいJVM(この例ではJRE6)にポイントするのは非常に簡単です。私の問題は、どこでそれを行うべきかが見つからなかったことでした。トリックは次のとおりです。

  1. ECLIPSEトップメニューの[ファイル]プルダウンタブで、[新規] 、->[その他]を選択します。
  2. ...新しいサーバーで:[ウィザード]ウィンドウを選択し、[サーバー] ->[サーバー]を選択します...[次へ]をクリックします
  3. 新規サーバーの場合:「新規サーバーの定義」ウィンドウで、 「 Apache」>「Tomcat7サーバー」を選択します。
  4. ..ここで、青色で下線が引かれた「ランタイム環境の構成」というタイトルの行をクリックします。
  5. [サーバーランタイム環境]ウィンドウで、
  6. .. Apacheを選択して展開し(左の矢印をクリック)、TOMCAT v7.0を選択して、[編集]をクリックします。
  7. EDIT SERVER RUNTIME ENVIRONMENT:TOMCATSERVERというウィンドウが表示されます。
  8. この画面には、JREというラベルの付いたプルダウンがあります。
  9. JREがJRE1.6.0.33のようにリストされているはずです。インストールされていない場合は、[インストール済みJRE ]ボタンを使用します。
  10. 目的のJREを選択します。[完了]ボタンをクリックします
  11. 正常に終了し、 [サーバー:サーバーランタイム環境]ウィンドウで[ OK ]をクリックします
  12. 新しいサーバーで:新しいサーバーウィンドウを定義し、 [次へ]をクリックします
  13. [新しいサーバー:追加と削除]ウィンドウで、アプリを選択してサーバーにインストールします。
  14. [新しいサーバー:追加と削除]ウィンドウで、[完了]をクリックします

それで全部です。興味深いことに、手順7〜10のみが重要であるように思われ、TOMCATv7.0を使用するように以前に定義したすべてのサーバーで使用されるJREが変更されます。残りの手順は、新しいサーバーを定義する以外に、画面にアクセスする他の方法が見つからないためです。他の誰かがもっと簡単な方法を知っていますか?

于 2013-02-08T02:45:10.703 に答える
4

Linuxでは、Tomcat7の構成ファイルは次の場所にあります。

/etc/sysconfig/tomcat7

...サーバー固有の構成を行う必要がある場所です。ここで、profile.d/スクリプトを作成する必要なしにJAVA_HOME環境変数を設定できます。

これは私のために働いた。

于 2013-07-01T20:57:42.343 に答える
1

ここにはいくつかの良い答えがありますが、WindowsマシンにサービスとしてTomcatをインストールしている私のようなユーザーにとって役立つかもしれないので、1つ追加したいと思います。

ここでのオプション3:http: //www.codejava.net/servers/tomcat/4-ways-to-change-jre-for-tomcat

基本的に、tomcatw.exeを開き、Tomcatに使用する必要のあるJVMのバージョンを指定してから、サービスを再起動します。デプロイされたアプリケーションが引き続き機能することを確認します。

于 2015-06-08T15:01:22.023 に答える
-1

termenalまたはcmdをテストして開きます。[tomcat-home]\binディレクトリに移動します。例:c:\ tomcat8\bin次のコマンドを記述します。Tomcat8W//ES// Tomcat8はダイアログを開き、javaタップ(トップタップ)を選択します。Java仮想マシンの値を変更します。

于 2015-09-29T10:52:21.953 に答える