Re: [thredds] Where to put the jar of a IOSP?

Hi John,

reading the docs at, 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.


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/.


On 8/12/2011 1:35 AM, Heiko Klein wrote:

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 =
Aug 12, 2011 7:26:10 AM org.apache.catalina.core.StandardContext
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,


  • 2011 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the thredds archives: