myeclipse启动是报错org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [com/easyjf/core/jpa-generic-dao.xml]: Invocation of init method failed; nested exception is java.lang.RuntimeException: error trying to scan <jar-file>: file:/D:/Users/cfzss/Tomcat 6.0/webapps/CTS2012/WEB-INF/lib/application-core-2.0.jar
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1362)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:540)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:485)
at java.security.AccessController.doPrivileged(Native Method)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:169)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:170)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:407)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:735)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:369)
at com.easyjf.container.impl.SpringContainer.init(SpringContainer.java:148)
at com.easyjf.container.impl.DefaultContainer.create(DefaultContainer.java:150)
at com.easyjf.container.impl.DefaultContainer.refreshContainer(DefaultContainer.java:297)
at com.easyjf.container.impl.DefaultContainer.refresh(DefaultContainer.java:263)
at com.easyjf.web.FrameworkLoader.initContainer(FrameworkLoader.java:176)
at com.easyjf.web.FrameworkLoader.initEasyJWeb(FrameworkLoader.java:115)
at com.easyjf.web.ActionServlet.initEasyJWeb(ActionServlet.java:127)
at com.easyjf.web.ActionServlet.init(ActionServlet.java:136)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4044)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:761)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:741)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1023)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1015)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:448)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
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)
Caused by: java.lang.RuntimeException: error trying to scan <jar-file>: file:/D:/Users/cfzss/Tomcat 6.0/webapps/CTS2012/WEB-INF/lib/application-core-2.0.jar
at org.hibernate.ejb.Ejb3Configuration.scanForClasses(Ejb3Configuration.java:619)
at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:338)
at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:126)
at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:221)
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:251)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1390)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1359)
... 45 more
Caused by: java.lang.RuntimeException: Not a valid URL: file:/D:/Users/cfzss/Tomcat 6.0/webapps/CTS2012/WEB-INF/lib/application-core-2.0.jar
at org.jboss.util.file.ArchiveBrowser.getBrowser(Unknown Source)
at org.hibernate.ejb.Ejb3Configuration.scanForClasses(Ejb3Configuration.java:610)
... 51 more
Caused by: java.net.URISyntaxException: Illegal character in path at index 27: file:/D:/Users/cfzss/Tomcat 6.0/webapps/CTS2012/WEB-INF/lib/application-core-2.0.jar
at java.net.URI$Parser.fail(URI.java:2809)
at java.net.URI$Parser.checkChars(URI.java:2982)
at java.net.URI$Parser.parseHierarchical(URI.java:3066)
at java.net.URI$Parser.parse(URI.java:3014)
at java.net.URI.<init>(URI.java:578)
... 53 more

解决方案 »

  1.   

    spring中哪配置的不对,你把配置贴出来看看北
      

  2.   

    在myeclipse中部署后运行报错,但是在Tomcat的 server.xml中直接指向该项目是可以的。
    application.xml:
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">
           
    <import resource="classpath:/com/application.xml" />
    <import resource="open-spring-transaction.xml"/>
    <import resource="chat-app.xml" />
    <import resource="dao.xml"/>
    <import resource="service.xml"/>
    <import resource="baseInfo-app.xml" />

    <bean id="propertryConfigurer"
    class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="ignoreResourceNotFound" value="true" />
    <property name="locations">
    <list>
    <value>classpath:db.properties</value>
    </list>
    </property>
    </bean>

      <bean id="scriptLoader" class="com.lanyotech.core.service.impl.ScriptLoaderImpl"> 
        <property name="servers"><list>
        <value>http://demo.erpwin.com</value>
        <value>http://www.erpwin.com</value>
        <value>http://easyjf.erpwin.com</value>
        </list></property> 
        <property name="debug" value="true" />
        <property name="offline" value="true" />
        <property name="compress" value="false" />
      </bean>
      
    </beans>
    persistence.xml:
    <persistence xmlns="http://java.sun.com/xml/ns/persistence"
    version="1.0">
    <persistence-unit name="app-unit" transaction-type="RESOURCE_LOCAL">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <jar-file>WEB-INF\lib\application-core-2.0.jar</jar-file>
    <jar-file>file:/D:\workspace\CTS2012\WebRoot\WEB-INF\lib\application-core-2.0.jar</jar-file>
    <properties>
    <property name="hibernate.show_sql" value="true" />
    <property name="hibernate.hbm2ddl.auto" value="update" />
    <property name="hibernate.cache.provider_class" value="org.hibernate.cache.EhCacheProvider" />
    <property name="hibernate.cache.use_query_cache" value="false" />
    <property name="hibernate.ejb.naming_strategy" value="com.lanyotech.core.dao.LocalNamingStrategy" />
    </properties>
    </persistence-unit>
    </persistence>
      

  3.   

    Caused by: java.net.URISyntaxException
    很明显是数据库配置错误,应该是数据库路径的问题,如果是本机改成locahost吧
      

  4.   


    数据库连接配置没问题呀,而且如果是在Tomcat的 server.xml中直接指向该项目连接数据库是正常的;
    db.properties
    database.database=MYSQL
    database.driverClassName=org.gjt.mm.mysql.Driver
    database.password=root
    database.show_sql=true
    database.url=jdbc:mysql://localhost:3306/cts2012?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=utf8&autoReconnect=true
    database.username=root
      

  5.   


    Tomcat server.xml 中指向该项目就能运行,看来这个基于jpa、Spring、extjs 的easyweb配置有点问题,
    <Context path="" docBase="D:\workspace\CTS2012\WebRoot" debug="0" reloadable="true" />