最近遇到一个非常奇怪的问题,我的机器运行其它项目不会出错可以排除我的tomcat配置出错的可能,项目用jetty启动,或将同一个包放到其他人的机器上运行都很正常,故排除项目配制错误的可能。tomcat运行后 ...\apache-tomcat-6.0.20\webapps内中有bjlxs 且内容完整,...\apache-tomcat-6.0.20\temp下有个0-bjlxs 目录内容有WEB-INF\lib及jar包文件其他无(即\apache-tomcat-6.0.20\temp\0-bjlxs\WEB-INF\lib。运行其他项目均不会到temp目录下建立同种文件更不会在运行时到temp下面去查找文件,这次不知怎么回事!
[bjlxs] 2009-12-28 17:19:05,114 ERROR [main] org.springframework.web.context.ContextLoader.initWebApplicationContext-215 | Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'system.transactionAdvisor' defined in file [D:\Program Files\apache-tomcat-6.0.20\temp\0-bjlxs\WEB-INF\classes\spring\applicationContext-aop.xml]: Cannot resolve reference to bean 'system.transactionInterceptor' while setting bean property 'advice'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'system.transactionInterceptor' defined in file [D:\Program Files\apache-tomcat-6.0.20\temp\0-bjlxs\WEB-INF\classes\spring\applicationContext-aop.xml]: Cannot resolve reference to bean 'system.platformTransactionManager' while setting bean property 'transactionManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'system.platformTransactionManager' defined in file [D:\Program Files\apache-tomcat-6.0.20\temp\0-bjlxs\WEB-INF\classes\spring\applicationContext-transaction.xml]: Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in file [D:\Program Files\apache-tomcat-6.0.20\temp\0-bjlxs\WEB-INF\classes\spring\applicationContext-hibernate.xml]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: basedir D:\Program%20Files\apache-tomcat-6.0.20\temp\0-bjlxs\WEB-INF\classes is not a directory
 at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:275)
 at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary
、、、、、、、、、、、、、、、、、、、
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'system.transactionInterceptor' defined in file [D:\Program Files\apache-tomcat-6.0.20\temp\0-bjlxs\WEB-INF\classes\spring\applicationContext-aop.xml]: Cannot resolve reference to bean 'system.platformTransactionManager' while setting bean property 'transactionManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'system.platformTransactionManager' defined in file [D:\Program Files\apache-tomcat-6.0.20\temp\0-bjlxs\WEB-INF\classes\spring\applicationContext-transaction.xml]: Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in file [D:\Program Files\apache-tomcat-6.0.20\temp\0-bjlxs\WEB-INF\classes\spring\applicationContext-hibernate.xml]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: basedir D:\Program%20Files\apache-tomcat-6.0.20\temp\0-bjlxs\WEB-INF\classes is not a directory
 at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:275)
 at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary
、、、、、、、、、、、、、、、、、、、、、、
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'system.platformTransactionManager' defined in file [D:\Program Files\apache-tomcat-6.0.20\temp\0-bjlxs\WEB-INF\classes\spring\applicationContext-transaction.xml]: Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in file [D:\Program Files\apache-tomcat-6.0.20\temp\0-bjlxs\WEB-INF\classes\spring\applicationContext-hibernate.xml]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: basedir D:\Program%20Files\apache-tomcat-6.0.20\temp\0-bjlxs\WEB-INF\classes is not a directory
 at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:275)
 at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary
、、、、、、、、、、、、、、、、、、、、
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in file [D:\Program Files\apache-tomcat-6.0.20\temp\0-bjlxs\WEB-INF\classes\spring\applicationContext-hibernate.xml]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: basedir D:\Program%20Files\apache-tomcat-6.0.20\temp\0-bjlxs\WEB-INF\classes is not a directory
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1336)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean
、、、、、、、、、、、、、、、、
Caused by: java.lang.IllegalStateException: basedir D:\Program%20Files\apache-tomcat-6.0.20\temp\0-bjlxs\WEB-INF\classes is not a directory
 at org.apache.tools.ant.DirectoryScanner.scan(DirectoryScanner.java:797)
 at com.derbysoft.modules.resource.impl.AntResourceProbe.findResourcesInFileSystem(AntResourceProbe.java:38)
 at com.derbysoft.modules.resource.impl.AbstractResourceProbe.findResourceInAppServer
、、、、、、、、、、、、、、
Dec 28, 2009 5:19:05 PM org.apache.catalina.core.StandardContext start
SEVERE: Error listenerStart
Dec 28, 2009 5:19:05 PM org.apache.catalina.core.StandardContext start
SEVERE: Context [/bjlxs] startup failed due to previous errors
Dec 28, 2009 5:19:10 PM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
Dec 28, 2009 5:19:10 PM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
Dec 28, 2009 5:19:10 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/96  config=null
Dec 28, 2009 5:19:10 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 48059 ms
Connected to server本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wcx11/archive/2009/12/28/5092718.aspx

解决方案 »

  1.   

    bjlxs 北京???  呵
    不应当会出现这样的现象,
    你是拷的别人的项目代码导到自己的机器上运行的吗,有些地方可能需要改一下
      

  2.   

    既然你说tomcat没问题,那我刚碰到过类似的。
    我的问题是有jar包和tomcat的包冲突了。
    你把项目里的jar包逐个删除看看,可能就解决了。
      

  3.   

    查了一下,网上有说asm.jar包冲突的,但是我的项目中就没有那个包阿
      

  4.   

    你去lib文件里把asm.jar删除就可以了,我以前也出现过这种问题
      

  5.   

    我的项目本来就没有那个asm.jar包的阿
      

  6.   

    要明白》》知道java都是配置文件什么的。
    有可能编译的jdk的版本不相同都不知道的》》
      

  7.   

    编译出的文件有可能就不能用??或者
    你的在别的机器上运行时》那个人自己吧tomcat的lib目录添加了
    几个jar包里
    在你这里运行的时候就找不到了
      

  8.   

    这个方法试过的,会立即建立一个叫做1-bjlxs的文件夹内容如前
      

  9.   

    那就去你导入的jar包里找,一定有!如果没有,它就不会报这种错误!
      

  10.   

    跟同事对照了一下jar包文件一样的
      

  11.   

    个人补充一下问题,temp\0-bjlxs中本来是整个的copy了webapp下面的内容但不知为何,一眨眼就自动全部删除的只剩下web-inf\lib的内容了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      

  12.   

    今天终于把这个问题解决了,原因是我把tomcat放到了D:\Program Files文件夹下,文件夹的名称中有一空格,现在我把 tomcat 放到 D:\ProgramFiles文件夹下就可以工作了