Hm, difficult. If you want, you can provide us with a minimized WAR file of your webapp, and we could do some more testing. Unfortunately, Tomcat regularly caused problems in the past; this is why we are usually working with Jetty or Glassfish in our projects.
On Thu, Oct 15, 2015 at 4:13 PM, Paul Swennenhuis <p...@swennenhuis.nl> wrote: > Hi Christian, > > Thanks for the swift response. > I tried to place it in the directory of the importing module as well but > that did not work either. > > > When I run this query: > > <dirs> > <currentDir> > {file:current-dir()} > </currentDir> > <baseDir> > {file:base-dir()} > </baseDir> > <baseUri> > {static-base-uri()} > </baseUri> > <parent> > {file:parent(static-base-uri())} > </parent> > <abs> > {file:path-to-native("/")} > </abs> > <files> > {file:children(".")} > </files> > </dirs> > > > the output is: > > <dirs> > <currentDir>/</currentDir> > <baseDir>/opt/tomcat/webapps/BaseX83/xq/</baseDir> > <baseUri>file:/opt/tomcat/webapps/BaseX83/xq/currentDir.xq</baseUri> > <parent>/opt/tomcat/webapps/BaseX83/xq/</parent> > <abs>/</abs> > <files>./lost+found/ ./media/ ./opt/ ./run/ ./library.xq ./home/ ./var/ > ./dev/ ./boot/ ./sbin/ ./proc/ ./sys/ ./bin/ ./lib/ ./root/ ./vmlinuz ./mnt/ > ./usr/ ./lib64/ ./initrd.img ./tmp/ ./srv/ ./etc/</files> > </dirs> > > > As you can see, the children() of the current directory (.) are server root > entries. > > Paul > > >> Hi Paul, >> >>> When I import a module in a .xq file, like this: >>> import module namespace lib="My Library" at "library.xq"; >>> BaseX gives me a "[XQST0059] Could not retrieve module '/library.xq' " >>> error. >> >> By default, modules should be found if they are located in the >> directory of the importing module. >> >> The URI of your module can be requested via the function >> static-base-uri(). What does it return in your environment? >> >> Christian >> >> >>> Earlier I installed BaseX on a EC2 instance at Amazon, and there I found >>> that import modules had to be placed in /usr/share/tomcat7 to be found. >>> But that directory does not exist on this server, and even when I create >>> it >>> and place library.xq there it is still not found. >>> I tried placing library.xq in the RESTPATH directory, in the REPOPATH >>> directory, in the home directory of BaseX, but all in vain. >>> I only get it to work when I place library.xq in the root of the server. >>> And >>> that is obviously not something I want to do. >>> Or, alternatively, when I place it in [some directory] and then change >>> the >>> import line to >>> import module namespace lib="My Library" at "[some >>> directory]/library.xq"; >>> In other words, when I change the relative path to an absolute one. >>> But I'd have to do that for all of my XQuery files (a lot!) and, worse, >>> I'd >>> have to change it again if I deploy the .xq files on another server. >>> >>> So, to summarize: in which directory/directories does BaseX try to locate >>> import modules? >>> And what would I have to do to change the default location(s)? >>> >>> Thanks in advance. >>> >>> Paul > >