Problem Description#

I have installed JSPWiki on WindowsXP and everything works fine if I set

jspwiki.fileSystemProvider.pageDir=C:\\apps\\JSPWiki\\data\\JSPWiki_Repository\\RotechWiki

in my jspwiki.properties. My problem starts if I point it to a mapped drive on my pc(the mapped drive is backup everyday, and I just want JSPWiki to server a small tool on my pc) For example:

jspwiki.fileSystemProvider.pageDir=Z:\\JSPWiki\\data\\JSPWiki_Repository\\RotechWiki

will give me errors as following:

2004-10-26 11:53:53 StandardContext[/JSPWiki]JSPWiki: 
 Unable to load and setup properties from jspwiki.properties. 
 Failed to start managers: Page directory does not exist
2004-10-26 11:54:09 StandardContext[/JSPWiki]Application 1398720 requests WikiEngine.

Does anyone have the sample problem? Thanks.

PS. The mapped drive has already loggin, and I can access it find in DOS prompt or Explorer.

Solution#

--Simon Martin

If you change the setting to a UNC-compliant absolute path which uses the servername and share name of the mapped drive, it should work. Don't forget the additional slashes for the start of the UNC address (see below)

e.g.

jspwiki.fileSystemProvider.pageDir=\\\\yourserver\\yourshare\\JSPWiki_Repository\\RotechWiki

--update-- Apologies - this only works for locally mapped drives, not Network Drives. I am still trying to ascertain why this is. The strange thing is that the network shares work fine against the FileSystemProvider class when I run a local unit test, but not when running within Tomcat (I'm using v5.0x)

--Ditto that-- I'm also using Tomcat 5.0 (under jwsdp1.4) and trying to mount a network drive for my jspwiki.fileSystemProvider with the syntax listed above. As a workaround, after my server boots up, I login and mount my network share from Explorer. Once the share is mounted on the machine, Tomcat will see the network share once it is restarted. Obviously, this isn't optimal for a web server. It won't come up on its own, you have to manually get it running.

--update-- I think I found a solution. You should have Tomcat running as a Service, so that when the PC reboots, it automatically starts Tomcat. Now you need to configure that service to logon to your local domain (as opposed to the local machine.) Go to Control Panel->Administrative Tools->Service->name of your Tomcat service. Select the 'Log On' tab, select 'This account"' and list a domain\username and password that's valid for both your local machine and the machine where your network drive is located. Not sure if there are security issues or not, but this seems to be working at the moment.

--Explanation-- Visibility of mapped networked drives is depending on the current user. Services and interactive users operate on different accounts: Services are usually run as "LOCAL_SYSTEM" (or similar)..., which most likely is not your personal username. This "user" does not see the same mappings as the interactive user (you). Drive Mappings are not per machine but per user, this is the reason why changing the account works.
One more note: Imagine using remote access (Terminalservices) and sharing one machine with different users: Better everyone sees only their own drives with their own access rights and drive-letters of their choice - OlafKock


Keep up! <a href="http://toothbrush.free-bb.com">electric toothbrush</a>

--tooth, 16-Jan-2007

Add new attachment

Only authorized users are allowed to upload new attachments.
« This page (revision-22) was last changed on 26-Sep-2007 23:20 by JanneJalkanen