web-dev-qa-db-ja.com

複数のTomcatインスタンスにJava_HOMEを設定する方法は?

2つJava Webプロジェクト。1つはJDK 1.5で実行され、もう1つはJDK 1.6で実行されます。両方を同じコンピューターで実行したいのですが、Java_HOME環境変数は値。TomcatサーバーごとにJava_HOMEを設定したい。

36
Chan Pye

setbin.shをbinディレクトリに配置します

Java_HOME=/usr/Java/jdk1.6.0_43/
JRE_HOME=/usr/Java/jdk1.6.0_43/jre

または実行中の他のバージョン。

40
HowRude

できることの1つは、catalina.sh(Unixベース)またはcatalina.bat(Windowsベース)を変更することです。

各スクリプト内で、シェルで作成されたプロセスのみが継承する特定の変数を設定できます。したがって、catalina.shの場合、次の行を使用します。

export Java_HOME="intented Java home"

そして、Windows用

set Java_HOME="intented Java home"
20
bogertron

Windowsユーザーの場合、Tomcat binディレクトリに作成する必要があるsetenv.batファイルに以下のコンテンツを配置します。

set Java_HOME=C:\Program Files\Java\jdk1.6.x

Linuxユーザーの場合、Tomcat binディレクトリに作成する必要があるsetenv.shファイルに以下のコンテンツを配置します。

Java_HOME=/usr/Java/jdk1.6.x
13
STB Land

また、=の後にスペースを入れないでください。

set Java_HOME=C:\Program Files\Java\jdk1.6.0_27
7
Ravi

以下を使用して、binディレクトリにsetenv.shを追加できます。

export Java_HOME = $(readlink -f/usr/bin/Java | sed "s:bin/Java ::")

パッケージを更新すると動的に変更されます。

4
Paulo Fidalgo

UNIXではこの問題が発生し、catalina.shを手動で編集して入力しました

export Java_HOME=/usr/lib/jvm/Java-6-Sun-1.6.0.24
echo "Using Java_HOME:       $Java_HOME"

最初の2行として。 Java_HOME/etc/profileを設定しようとしましたが、役に立ちませんでした。

これは最終的に機能しました。

3
rafeeq

これはベストプラクティスだと思います(同じコンピューターに多くのTomcatインスタンスがある場合があります。Tomcatインスタンスごとに他のJava Runtime Environment)を使用する必要があります。

enter image description here

enter image description here

これはファイル内のマニュアルです:catalina.sh

#   JRE_HOME        Must point at your Java Runtime installation.
#                   Defaults to Java_HOME if empty. If JRE_HOME and Java_HOME
#                   are both set, JRE_HOME is used.
3
Do Nhu Vy

私のOSはWindows 8であり、Tomcat 8を使用しているのと同じ問題がありましたsetclasspath.batファイルを編集しましたbinフォルダで、Java_HOMEとJRE_HOMEを次のように設定します...

@エコーオフ
...
...
set "JRE_HOME =%ProgramFiles%\ Java\jre8"
set "Java_HOME =%ProgramFiles%\ Java\jdk1.7.0_03"
...
...

それは今私のためにうまくいきます......

2
Tamil Selvan

LinuxベースのTomcat6には/ etc/Tomcat6/Tomcat6.confが必要です

# System-wide configuration file for Tomcat6 services
# This will be sourced by Tomcat6 and any secondary service
# Values will be overridden by service-specific configuration
# files in /etc/sysconfig
#
# Use this one to change default values for all services
# Change the service specific ones to affect only one service
# (see, for instance, /etc/sysconfig/Tomcat6)
#

# Where your Java installation lives
#Java_HOME="/usr/lib/jvm/Java-1.5.0"

# Where your Tomcat installation lives
CATALINA_BASE="/usr/share/Tomcat6"
...
2
KCD

Debianディストリビューションの場合、デフォルトで設定をオーバーライドできます

/etc/default/Tomcat6

をセットする Java_HOME Java必要なバージョンを指します。

Java_HOME=/usr/lib/jvm/Java-7-openjdk-AMD64
2
Shinu

ちょっとだけ...

そのコードをsetclasspath.batまたはsetclasspath.shに追加すると、カタリナだけでなく、実行可能なTomcatのすべてのスクリプトで実際に使用されます。

変数を設定する方法は、他の人が説明したとおりです。

0
Doug