If a WAR is not unpacked deployment cannot work. The war itself must be self contained. In other words everything the war needs must already be available in the war.
Since the developer or server admin decided not to unpack wars, they will have to include everything in the WAR manually. Thus their WAR must include the "click" dir with all resources before packing up their war.
There is not much Click can do about it since getRealPath() will return null. This is compliant with the Servlet Spec as well. ServletContext#getRealPath states:
"The real path returned will be in a form appropriate to the computer and operating system on which the servlet container is running, including the proper path separators.
This method returns null if the servlet container cannot translate the virtual path to a real path for any reason (such as when the content is being made available from a .war archive)."
The best we can do is FAQ on this topic.
BTW the problem this issues tries to fix is that Click tried to deploy the files to the getRealPath("/") directory even when WAR was not unpacked. If the WAR is not unpacked getRealPath("/") returns null. Click then deployed to this null directory. In my case this null directory ended up under the bin folder:
c:\ apps \ java \ tomcat-6.0.13 \ bin \ null \ ...