Hi John,
reading the docs at
https://tomcat.apache.org/tomcat-6.0-doc/class-loader-howto.html, you
are probably right, though the tomcat/lib directory works for some more
general classes like mysql-connector.jar.
This will make upgrading a bit more complicated for us, but I can live
with that.
Heiko
On 2011-08-13 19:59, John Caron wrote:
Hi Heiko:
AFAIU, the spec requires servlet containers to use seperate class
loaders for each webapp and for tomcat. I think that means you dont have
any choice but to put it in webapps/thredds/WEB-INF/lib/.
John
On 8/12/2011 1:35 AM, Heiko Klein wrote:
Hi,
I would like to run thredds with an external netcdf-java IOSP wich is
provided as separate jar file (wdb-netcdf-java.jar).
I configure it in the content/thredds/threddsConfig.xml
When putting the wdb-netcdf-java.jar into
webapps/thredds/WEB-INF/lib/, everything works great. Unfortunately,
the webapps/thredds/ directory is private for the thredds.war file,
and will be deleted when upgrading thredds. (Even worse in jetty,
where the webapps/thredds directory ususally is placed in /tmp and
will be deleted on every reboot.)
I tried to put the jar file into the tomcat/lib directory, but this
leads to an error:
ThreddsConfig:INFO: reading xml file =
/metno/threddssetup/tomcat/content/thredds/threddsConfig.xml
Aug 12, 2011 7:26:10 AM org.apache.catalina.core.StandardContext
listenerStart
SEVERE: Exception sending context initialized event to listener
instance of class thredds.server.config.TdsConfigContextListener
java.lang.NoClassDefFoundError: ucar/nc2/iosp/AbstractIOServiceProvider
at java.lang.ClassLoader.defineClass1(Native Method)
...
(tested with tomcat 6)
From a configurational point of view, it would be nicest to put the
wdb-netcdf-java.jar file to the content/thredds/ catalog close to the
threddsConfig.xml where it is declared.
Is there a recommended place to put the IOSP jar files?
Best regards,
Heiko