- - PR -
tomcatのwarファイルの自動展開について
1
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-08-20 17:30
はじめまして
javaを始めて間もない者です。 現在JBuilder5を使用して開発し 以下の環境にてServletなどを動作させようとしています。 [動作環境] ・RedHat Linux 9 ・Apache1.3 ・tomcat4.1.18 しかし、${TOMCAT_HOME}/webapps配下にJBuilderで作成したwarファイルを 配置してtomcatを起動しても、warファイルが自動で展開できないでいます。 ただ、Servletなどの動作自体は、jarコマンドを使いwarファイルを展開すれば問題ないです。 色々と調べたのですが、八方塞がりになってしまいましたので 何が悪いのか、ご存知の方がいましたら教えて下さい。 自動展開失敗時のserver.xmlと、tomcatのログを載せますので参考にして下さい。 [server.xml] <!-- Example Server Configuration File --> <!-- Note that component elements are nested corresponding to their parent-child relationships with each other --> ==== 省略 ==== <!-- Define the default virtual host --> <Host name="localhost" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true"> ==== 省略 ==== <Context path="/hoge" docBase="hoge" debug="9" reloadable="true" crossContext="true" trusted="false"> <Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_hoge_log." suffix=".txt" timestamp="true"/> </Context> </Host> ==== 以下省略 ==== [localhost_hoge_log.txt] 2003-08-20 17:25:03 StandardContext[/hoge]: Starting 2003-08-20 17:25:03 StandardContext[/hoge]: Processing start(), current available=false 2003-08-20 17:25:03 StandardContext[/hoge]: Configuring default Resources 2003-08-20 17:25:03 StandardContext[/hoge]: Resources start failed: 2003-08-20 17:25:03 StandardContext[/hoge]: Configuring non-privileged default Loader 2003-08-20 17:25:03 StandardContext[/hoge]: Configuring default Manager 2003-08-20 17:25:03 StandardContext[/hoge]: Processing standard container startup 2003-08-20 17:25:03 StandardContext[/hoge]: 以前のエラーのために、コンテキストの起動が失敗しました 2003-08-20 17:25:03 StandardContext[/hoge]: 起動が失敗した後のクリーンナップ中に例外が発生しました LifecycleException: コンテナ StandardContext[/hoge] はまだ起動されていません at org.apache.catalina.core.StandardContext.stop(StandardContext.java:3643) at org.apache.catalina.core.StandardContext.start(StandardContext.java:3621) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1188) at org.apache.catalina.core.StandardHost.start(StandardHost.java:738) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1188) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:347) at org.apache.catalina.core.StandardService.start(StandardService.java:497) at org.apache.catalina.core.StandardServer.start(StandardServer.java:2189) at org.apache.catalina.startup.Catalina.start(Catalina.java:512) at org.apache.catalina.startup.Catalina.execute(Catalina.java:400) at org.apache.catalina.startup.Catalina.process(Catalina.java:180) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:203) 少ない情報ですが、宜しくお願いします。 | ||||||||
|
投稿日時: 2003-08-22 22:45
はじめまして。よこいと申します。
server.xml の Context タグ、docBase アトリビュートの 記述に誤りがありますね。 docBase には war ファイル名を指定する必要があります。 <Context path="/hoge" docBase="hoge" debug="9" ↓ <Context path="/hoge" docBase="hoge.war" debug="9" war ファイル名が分かりませんが、上のような変更をしてみてください。 詳細については、以下の URL の docBase の辺りを読めば判ると思います。 http://www.janit.com/TechnoInf/Java/Tomcat4.1/config/context.html それでは失礼します。 | ||||||||
|
投稿日時: 2003-08-25 10:13
よいこさん
ご指摘ありがとうございました。 変更して、tomcatの再起動をしてみましたが 現象は変わりませんでした。 結局、tomcat起動時にシェルにて warファイルを展開する事で対応する事にしました。 ただ、この項目については、まだ調べるつもりでいるので 何か分かりましたら報告させて頂きます。 | ||||||||
|
投稿日時: 2003-08-25 10:44
こんにちは「よこい」です(^^)
ひとつ言い忘れていたのですが、 server.xml に上記のような書き方をした場合、 webapps 以下に war ファイルは展開されません work ディレクトリ以下に展開されます。 もし webapps 以下に war ファイルが展開される/されない で、アプリケーションのデプロイ確認を行っているようであれば そうではなく、一度動作確認を行ってみると良いと思います。 それでは。 | ||||||||
|
投稿日時: 2003-09-02 20:51
もう解決されましたでしょうか。
既にhogeフォルダを作ってしまっているのであれば、 %Tomcat%webapps\hoge をディレクトリごと削除してください。 また、webapps直下だとTomcatが自動認識してくれますので、 server.xmlへ追加した部分も必要ないので該当部分を削除します。 詳しくは以下を参照してください。 http://iihito.dip.jp/docs/java/no10/no10-5.html#10_5_3 | ||||||||
|
投稿日時: 2003-09-03 14:49
swatです。
server.xmlにContextディレクティブを書き込んでしまっていると、webapps配下にwarファイルを置いてもその場所に自動展開されなかったような記憶があります。 server.xmlから、展開したいアプリケーションのContextディレクティブを削除してみたらどうなるか、試してみてください。 | ||||||||
|
投稿日時: 2003-09-03 15:00
swatさん、たまさん、よこいさん
適切なアドバイスありがとうございます。 Contextディレクティブを削除してみた所 無事展開する事ができました。 たまさんに教えて頂いたページの内容のとおりでしたね。 質問が初心者的な内容でしたが、 色々とありがとうございました。 | ||||||||
|
投稿日時: 2004-03-22 06:22
はじめまして、ネットです。
私のシステムは同じの問題でしたが、直しました。教えます。 [動作環境] ● SuSE 8.2 ● Apache 1.3.27 ● Tomcat 4.1.18 はじめに、${TOMCAT_HOME}を"ls -lF"で見てみてください。
"webapps"のディレクトリが"root"のユーザのだったら、悪いです。 "webapps"のディレクトリは"wwwrun"のユーザのに変わります。
Tomcatはwwwrunで実行しているから、rootの755のディレクトリの中で何でもしません。 -- David tetsuoni3000@yahoo.co.jp [ メッセージ編集済み 編集者: 鉄鬼(david) 編集日時 2004-03-22 06:49 ] [ メッセージ編集済み 編集者: 鉄鬼(david) 編集日時 2004-03-22 06:51 ] | ||||||||
1
