web-dev-qa-db-ja.com

変更する方法Java TOMCATで使用されるバージョン?

Java 1.6とTomcat 5.5がシステムにインストールされています。

ただし、Tomcat 5.5はJava 1.5にアクセスするため、結果としてエラーBad version number in .class file Java JSPでコードを実行中。

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

[〜#〜] update [〜#〜]

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)

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

42
LGAP

Catalina.sh/catalina.batを開くと、次のことがわかります。

環境変数の前提条件

Java_HOMEは、Java Development Kitのインストール。

したがって、環境変数を設定しますJava_HOME Java 6.を指します。また、JRE_HOMEは、設定されている場合、同じターゲットを指しています。

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

36
Bozho

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

  1. 端末またはcmdを開きます。
  2. [Tomcat-home]\binディレクトリ。
    ex:c:\Tomcat8\bin
  3. 次のコマンドを書きます:Tomcat8W //ES//Tomcat8
  4. ダイアログが開きます。Javaタブ(上部ペイン)を選択します。
  5. Java仮想マシンの値を変更します。
  6. [〜#〜] ok [〜#〜]をクリックします。

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

15
Hazim

Eclipseでは、Tomcatを新しいJVM(この例ではJRE6)に向けることは非常に簡単です。私の問題は、どこでそれを行うことができないかということでした。ここにトリックがあります:

  1. Eclipseのトップメニューで[〜#〜] file [〜#〜]プルダウンタブを選択し、[〜#〜] new [〜#〜]、-> その他
  2. ...新しいサーバー:ウィザードの選択ウィンドウで、次を選択します:サーバー-> サーバー = ...クリック[〜#〜] next [〜#〜]
  3. New Server:Define a New Serverウィンドウで、Apache> Tomcat 7 Serverを選択します
  4. ..今、青色の下線付きの行をクリックします:ランタイム環境の設定
  5. Server Runtime Environmentsウィンドウで、
  6. ..select Apacheを展開して(左の矢印をクリック)、Tomcat v7.を選択して、[〜#〜] edit [ 〜#〜]
  7. SERVER RUNTIME ENVIRONMENTの編集:Tomcat SERVERというウィンドウが表示されます。
  8. この画面には、JREsというラベルのプルダウンがあります。
  9. JREはJRE1.6.0.のようにリストされているはずです。 Installed JREボタンを使用しない場合。
  10. 目的のJREを選択します。 [〜#〜] finish [〜#〜]ボタンをクリックします。
  11. 正常に終了し、Server:Server Runtime Environmentsウィンドウで、[〜#〜] ok [〜#〜]をクリックします
  12. 新規サーバー:新規サーバーの定義ウィンドウで、[〜#〜] next [〜#〜]
  13. 新しいサーバー:追加と削除ウィンドウで、アプリを選択してサーバーにインストールします。
  14. 新しいサーバー:追加と削除ウィンドウで、完了をクリックします

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

12
Jalkin

標準スクリプトを使用して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インストールでのみこれを確認しました)。

さらに読む:

11
Nick Grealy

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

/etc/sysconfig/Tomcat7

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

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

4
paiego

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

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

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

0
Michael