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

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 = /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,


thredds mailing list
For list information or to unsubscribe, visit: