Webアプリケーションのアンデプロイ時の問題
Windows環境だと、フレームワークを使ったWebアプリケーションをデプロイ後アンデプロイしてもファイルが残る。前から気になっていて放置してたが、既知のバグらしいのでメモ。
※しんさんより誤りを指摘いただきました。Windows版Tomcatの問題らしく、フレームワークは関係ありません。ここに訂正します。
NetBeans サポートブログ - アプリケーションの配備後、生成物を削除して構築する際に appbase.jar ファイルが削除が出来ない
環境
- NetBeans5.5.1
- JSF1.1
- Tomcat6.0.4(非バンドル)
- WindowsXP Professional Version 2002 SP2
問題
WebアプリケーションをWindows上で稼動しているTomcatにデプロイ後、アンデプロイしても、ファイルが残る。
アンデプロイ後、デプロイしても起動に失敗する。
なお、アンデプロイ時にエラーはでない。デプロイ時には「FAIL - WARファイル "StrutsWebApp.war" は既にサーバ上に存在します」とかエラーがでる。
また、Linuxではこの現象は発生しない。
問題が発生するのは、VisualWebPackを使った場合と、Webアプリケーションでフレームワークを使用した場合。
1.VisualWebアプリケーション
2.Webアプリケーション(JSF使用)
3.Webアプリケーション(Struts使用)
1、2の場合、WEB-INF/lib/jsf-impl.jarが残る。
3の場合、WEB-INF/lib/commons-digester.jar、commons-validator.jar、struts.jar
回避方法
1.Tomcatを停止し
2.webapps下のwar(あれば)やフォルダを削除
3.デプロイする。デプロイはwarファイルをwebapps下にコピーしてもかまわない。(どうせ停止してるからね)
※リリースノートによると、2の手順は要らないようだ。