2つJava Webプロジェクト。1つはJDK 1.5で実行され、もう1つはJDK 1.6で実行されます。両方を同じコンピューターで実行したいのですが、Java_HOME環境変数は値。TomcatサーバーごとにJava_HOMEを設定したい。
setbin.shをbinディレクトリに配置します
Java_HOME=/usr/Java/jdk1.6.0_43/
JRE_HOME=/usr/Java/jdk1.6.0_43/jre
または実行中の他のバージョン。
できることの1つは、catalina.sh(Unixベース)またはcatalina.bat(Windowsベース)を変更することです。
各スクリプト内で、シェルで作成されたプロセスのみが継承する特定の変数を設定できます。したがって、catalina.shの場合、次の行を使用します。
export Java_HOME="intented Java home"
そして、Windows用
set Java_HOME="intented Java home"
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
また、=
の後にスペースを入れないでください。
set Java_HOME=C:\Program Files\Java\jdk1.6.0_27
以下を使用して、binディレクトリにsetenv.shを追加できます。
export Java_HOME = $(readlink -f/usr/bin/Java | sed "s:bin/Java ::")
パッケージを更新すると動的に変更されます。
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
を設定しようとしましたが、役に立ちませんでした。
これは最終的に機能しました。
私の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"
...
...
それは今私のためにうまくいきます......
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"
...
Debianディストリビューションの場合、デフォルトで設定をオーバーライドできます
/etc/default/Tomcat6
をセットする Java_HOME
Java必要なバージョンを指します。
Java_HOME=/usr/lib/jvm/Java-7-openjdk-AMD64
ちょっとだけ...
そのコードをsetclasspath.batまたはsetclasspath.shに追加すると、カタリナだけでなく、実行可能なTomcatのすべてのスクリプトで実際に使用されます。
変数を設定する方法は、他の人が説明したとおりです。