- PR -

Tomcatサービス起動時のclasspathの追加方法

1
投稿者投稿内容
tada
会議室デビュー日: 2003/05/08
投稿数: 12
投稿日時: 2003-07-04 08:56
お世話になります。
現在Tomcatをサービスで起動しているのですが、うまくclasspathが通っていないようで
WEB-INF以下に自分で作ったディレクトリのLog4jおよびPropertyクラスで使っているpropertiesファイルが認識されません。
サービスでTomcatを起動したい時に新規でclasspathを追加する際はどこにclasspathを設定すればよいのでしょうか。

classes以下にpropertiesファイルを置けば、ファイルは認識されるのですが、config系のファイルをまとめておきたい為に新規でWEB-INF以下にディレクトリを作成しています。

現在までに以下のことは試しています

eclipseでは
プロジェクトのプロパティ⇒Javaのビルド・パス⇒拡張⇒クラスパス・エントリーの追加
でパスが通り、eclipseでTomcatを起動した際はファイルが認識されます。
また、Catalina_base\bin以下のstartup.batを起動してTomcatを立ち上げた際は、Catalina_base\bin以下にあるsetclasspath.batに追加したいclasspathを記入し、一度実行することでファイルが認識される(classpathが通る)ことまでは確認しています。
ただ、サービスでtomcatを実行するとなぜかclasspathが通っていないため、Propertiesファイルから値がとれずnullPointerExceptionが発生してしまいます。

Tomcatのバージョンは4.1.18、OSはWindows2000です。

宜しくお願いします。
stoc
会議室デビュー日: 2003/03/27
投稿数: 11
投稿日時: 2003-07-04 15:39
はじめましてstocと申します。

引用:

tadaさんの書き込み (2003-07-04 08:56) より:
お世話になります。
現在Tomcatをサービスで起動しているのですが、うまくclasspathが通っていないようで
WEB-INF以下に自分で作ったディレクトリのLog4jおよびPropertyクラスで使っているpropertiesファイルが認識されません。
サービスでTomcatを起動したい時に新規でclasspathを追加する際はどこにclasspathを設定すればよいのでしょうか。

classes以下にpropertiesファイルを置けば、ファイルは認識されるのですが、config系のファイルをまとめておきたい為に新規でWEB-INF以下にディレクトリを作成しています。
<snip>



windows2000上にtomcat4.1.24をインストールして確認したのですが、

%CATALINA_HOME%\bin\tomcat.exe

という実行ファイルが、サービスへのインストール、アンインストールを
行うようです。詳細はオプションに"-help"をつけて確認していただきたいと思います。

%CATALINA_HOME%\bin\tomcat.exe -help


サービスのアンインストールとインストールを試してみたので
載せておきます。再インストールの際にCLASSPATHを設定できると思います。

1.現状のサービスのアンインストール
C:\Tomcat4.1_test\bin>tomcat -uninstall "Apache Tomcat 4.1"
The service was successfully uninstalled.

2.サービスの再インストール (DOSプロンプト上で一行で実行しました。)
%CATALINA_HOME%\bin\tomcat.exe -install "test" %JAVA_HOME%\jre\bin\server\jvm.dll -Djava.class.path=%CATALINA_HOME%\bin\bootstrap.jar;%JAVA_HOME%\lib\tools.jar -Dcatalina.home=%CATALINA_HOME% -start org.apache.catalina.startup.BootstrapService -params start -stop org.apache.catalina.startup.BootstrapService -params stop -out %CATALINA_HOME%\logs\stdout.log -err %CATALINA_HOME%\logs\stderr.log

僕自身もconfigファイルをどこにおくかで悩むときがありますが、
warファイルを展開するだけでwebアプリケーションが動作するように心掛けています。
なので環境変数を再定義するよりはWEB-INF/classes上に置いて
読み込ませるようにしまいます。

それでは、


tada
会議室デビュー日: 2003/05/08
投稿数: 12
投稿日時: 2003-07-04 17:32
お世話になります。

stocさんのやり方でclasspath設定できました。
ずっとどうするか分からず、半分あきらめていたので本当にうれしいです。
ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)