Webアプリケーションのアンデプロイ時の問題

Windows環境だと、フレームワークを使ったWebアプリケーションをデプロイ後アンデプロイしてもファイルが残る。前から気になっていて放置してたが、既知のバグらしいのでメモ。

しんさんより誤りを指摘いただきました。WindowsTomcatの問題らしく、フレームワークは関係ありません。ここに訂正します。

NetBeans サポートブログ - アプリケーションの配備後、生成物を削除して構築する際に appbase.jar ファイルが削除が出来ない

環境

問題

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の手順は要らないようだ。