我是JWS的新手。apache-tomcat中的共享jar 6.0.20
我有一個Web應用程序(幾個Web服務),我想在Linux系統上使用tomcat 6.0.20進行部署。
如果我生成一個包含所有使用過的庫的.war文件並將其放入webapps目錄,但我希望共享這些jar文件,並且.war文件本身太大,那麼一切正常。
首先,我嘗試了直觀的方式 - 我創建了一個鏈接(WEB-INF/lib中)含有罐子的目錄,但奇怪的是它未能部署(它開始如果該目錄不是鏈接):
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)
之後,我創建了$ CATALINA_HOME/shared/lib目錄,並將jar包移到了那裏(我刪除了WEB-INF/lib),它仍然顯示相同的錯誤 - 看起來tomcat並不尋找除了WEB-INF/lib目錄以外的任何其他地方的jar。但另一方面,爲什麼創建符號鏈接會有所作爲?
我的CATALINA_HOME和JRE_HOME變量似乎是正確的。
好,似乎工作 - 我還沒有嘗試過,因爲它被標記爲一些過時教程。 – zbigh 2010-01-20 08:33:16
它已被'/ conf/catalina.properties'中的'shared.loader'屬性取代。您可以在其中指定任何本地磁盤文件系統路徑。 – BalusC 2010-01-20 12:35:42