Soy bastante nuevo en JWS.Frascos compartidos en apache-tomcat 6.0.20
Tengo una aplicación web (varios servicios web) que deseo implementar utilizando tomcat 6.0.20 en un sistema Linux.
Todo está bien si genero un archivo .war con todas las bibliotecas usadas dentro y lo coloco en el directorio webapps, pero quiero tener estos archivos compartidos, y el archivo .war en sí es demasiado grande.
Primero trató de la manera intuitiva - He creado un enlace (WEB-INF/lib) al directorio que contiene los frascos, pero curiosamente no se infla (se inicia si el directorio no es un enlace):
SEVERE: Error configuring application listener of class com.sun.xml.ws.transport.http.servlet.WSServletContextListener
java.lang.ClassNotFoundException: com.sun.xml.ws.transport.http.servlet.WSServletContextListener
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3877)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4429)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:630)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:556)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:491)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1206)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:314)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:583)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Después de eso, creé el directorio $ CATALINA_HOME/shared/lib, moví los archivos allí (eliminé WEB-INF/lib) y aún muestra el mismo error - parece que tomcat no está buscando los tarros en cualquier lugar que no sea el directorio WEB-INF/lib. Pero, por otro lado, ¿por qué la creación de un enlace simbólico haría alguna diferencia?
Mi CATALINA_HOME y JRE_HOME vars parece tener razón.
bien que parece funcionar - Ni siquiera he intentado antes, ya que se ha marcado como obsoleto en algunos tutorial. – zbigh
Ha sido reemplazado por la propiedad 'shared.loader' en'/conf/catalina.properties'. Puede especificar cualquier ruta del sistema de archivos de disco local allí. – BalusC