2011-07-13 107 views
0

大家好,感谢您的帮助。在tomcat 7中部署war文件时出现错误

我有一个war文件,我想用tomcat 7进行部署。这个war文件名为ROOT.war,位于$ TOMCAT_HOME/webapps下。我还有$ TOMCAT_HOME/conf下的2个xml文件(server.xml & web.xml)。我收到以下错误,当我运行下面的命令码:catalina.sh运行

2011年7月13日下午二点16分23秒org.apache.catalina.core.StandardContext filterStart 严重:异常开始过滤LogFilter java.lang.IllegalArgumentException:需要属性'dataSource' at org.springframework.jdbc.support.JdbcAccessor.afterPropertiesSet(JdbcAccessor.java:134) at org.springframework.jdbc.core.JdbcTemplate。(JdbcTemplate.java:141 ) at org.springframework.jdbc.core.simple.SimpleJdbcTemplate。(SimpleJdbcTemplate.java:61) at com.osi.ospoint.web.filter.LogFilter.init(LogFilter.java:92) at org.apac he.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:273) 在org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:254) 在org.apache.catalina.core.ApplicationFilterConfig.setFilterDef( ApplicationFilterConfig.java:372) at org.apache.catalina.core.ApplicationFilterConfig。(ApplicationFilterConfig.java:98) at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4562) at org.apache .catalina.core.StandardContext $ 2.call(StandardContext.java:5240) at org.apache.catalina.core.StandardContext $ 2.call(StandardContext.java:5235) at java.util.concurrent.FutureTask $ Sync.innerRun (FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.ja va:138) at java.util.concurrent.ThreadPoolExecutor $ Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:908) at java.lang。 Thread.run(Thread.java:662) Jul 13,2011 2:16:23 PM org.apache.catalina.core.StandardContext startInternal SEVERE:错误filterStart 2011年7月13日下午2时16分23秒org.apache .catalina.core.StandardContext startInternal 重度:上下文[]启动失败,因为先前的错误,我摘录的server.xml的

<?xml version='1.0' encoding='utf-8'?> 
<Server port="8000" shutdown="shutdown"> 
<!-- firewall friendly jconsole remote access via service:jmx:rmi://<hostname>:802/jndi/rmi://<hostname>:8015/jmxrmi using credentials defined in the jmx files --> 
    <Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener" rmiRegistryPortPlatform="8015" rmiServerPortPlatform="8020" /> 
    <Listener className="org.apache.catalina.core.JasperListener" /> 
    <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" /> 
    <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" /> 
    <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" /> 
    <!-- define a datasource that is used for the web app deployed here --> 
    <!-- we decided to move this into the server.xml not in context.xml for reduction of config files --> 

    <Service name="some-service"> 
     <Executor name="some-thread-pool" namePrefix="some-thread-pool-" maxThreads="150" minSpareThreads="10" maxIdleTime="10000"/> 
     <Connector address="127.0.0.1" port="8005" protocol="AJP/1.3" redirectPort="8443" executor="some-thread-pool"/> 
     <Connector address="127.0.0.1" port="8080" protocol="HTTP/1.1"connectionTimeout="20000" redirectPort="8443" executor="some-thread-pool"/> 
     <!-- jvmRoute attribute on Engine tag not needed if apache is configured to provide this --> 
     <Engine name="some-engine" defaultHost="some-host"> 
     <!-- <Host name="study-development-host" appBase="webapps" unpackWARs="true" autoDeploy="true"/> --> 
     <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"/> 
     <Context docBase="ROOT" path="/ROOT" /> 
     <WatchedResource>WEB-INF/web.xml</WatchedResource> 
     <Manager pathname="" /> 
     <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" /> 
     <!-- <property name="dataSource"></property> --> 
    </Engine> 
    </Service> 

上面的错误消息指向LogFilter,但引发异常,因为属性dataSource没有被定义/存在于任何地方。我不明白这应该是什么意思。男孩,任何帮助,将不胜感激。

布兰妮

回答

0

看来,你使用Spring数据库连接。你可以添加你的spring配置或bean定义吗?您也可以查看Spring JDBC docs。看起来你并没有为Spring指定一个数据源,而是在抱怨你。那些文档解释了如何给Spring一个数据源。