1. org.springframework.transaction.CannotCreateTransactionException: Could not open JPA EntityManager for transaction; nested exception is java.lang.UnsupportedOperationException: Not supported by BasicDataSource

Spring不能为JAP创建事务。原因是bean.xml设定了数据源persistence.xml中要把数据库连接去掉

     <property name="hibernate.connection.username" value="xxx"/>

     <property name="hibernate.connection.password" value="xxx"/>  

     <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/xxx?     useUnicode=true&amp;characterEncoding=UTF-8"/>

2. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'productServiceBean': Injection of persistence fields failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [beans.xml]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: org.hibernate.MappingException: Could not determine type for: java.util.Set, for columns: [org.hibernate.mapping.Column(childtypes)]

原因:@Id @GeneratedValue(strategy = GenerationType.AUTO)

           这个注解写在get方法上不要写在属性声明上。

3. javax.persistence.PersistenceException: org.hibernate.exception.DataException: could not insert: [com.yufei.bean.product.ProductType]

Caused by: java.sql.SQLException: Data too long for column 'visible' at row 1

原因:实体类字段中的visible插入到数据库中所对应的值为ASCII码味49,超出范围。

          换个mysql的jar包解决问题。

4. web容器出现

严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory

此问题多样化,查阅资料说是jar包commons-logging.jar问题 ,但解决的方式是重新导入项目...

5. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'productTypeService': Injection of persistence fields failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [beans.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V

原因: Spring2.5下asm-2.2.3.jar 与hibernate下的asm.jar 冲突, 删除asm-2.2.3.jar 。

6. Failed to load or instantiate TagLibraryValidator class: org.apache.taglibs.standard.tlv.JstlCoreTLV

org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)

org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)

org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:88)

org.apache.jasper.compiler.Parser.processIncludeDirective(Parser.java:340)

原因:lib中缺少standard.jar , jstl.jar

7. java.lang.NoSuchFieldError: DIRECTORY

at net.fckeditor.connector.impl.AbstractLocalFileSystemConnector.getFolders(AbstractLocalFileSystemConnector.java:140)

at net.fckeditor.connector.Dispatcher.getFoldersAndOrFiles(Dispatcher.java:204)

at net.fckeditor.connector.Dispatcher.doGet(Dispatcher.java:156)

at net.fckeditor.connector.ConnectorServlet.doGet(ConnectorServlet.java:89)

原因:包冲突,删掉struts1.3自带的commons-io-1.1.jar,commons-fileupload-1.1.1.jar,加入commons-io-1.3.2.jar,commons-fileupload-1.2.1.jar

8.IOException while loading persisted sessions: java.io.EOFException

java.io.EOFException

at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2281)

at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2750)

at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:780)

at java.io.ObjectInputStream.<init>(ObjectInputStream.java:280)

原因是tomcat对硬盘的session读取失败,彻底解决办法一下:将work下面的文件清空,主要是*.ser文件,或者只是删除掉session.ser即可以解决。

9.javax.persistence.PersistenceException: org.hibernate.PersistentObjectException: detached entity passed to persist: com.dalton.domain.User

org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException

原因:(1) 是entity bean的 @Id标记错了,标记在了String 等类型上

(2) 对id字段手工设定了值。

10 org.springframework.web.context.ContextLoader(line:215) - Context initialization failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with

name 'brand' defined in file [D:\Tomcat6\webapps\autoet\WEB-INF\classes\com\autoet\

action\brand\BrandAction.class]: Instantiation of bean failed; nested exception is

org.springframework.beans.BeanInstantiationException: Could not instantiate bean

class [com.autoet.action.brand.BrandAction]: Constructor threw exception; nested

exception is java.lang.NullPointerException

原因:项目使用了<context:component-scan/>扫描机制, 而类BrandAction没有标注为原型,

为类添加 @Scope("prototype")标注(与@Controller相同位置)

11 org.hibernate.tool.hbm2ddl.SchemaUpdate(line:222) - could not complete schema update

java.lang.UnsupportedOperationException: Not supported by BasicDataSource

原因 spring.xml 与 persistence.xml中都配置了数据库连接,注释掉persistence.xml中的连接信息

12 org.apache.struts2.dispatcher.Dispatcher(line:27) - Dispatcher initialization failed

Unable to load configuration. - [unknown location]

Cannot locate the chosen ObjectFactory implementation: spring - [unknown location]

原因 struts.xml中使用了<constant name="struts.objectFactory" value="spring"/>,将其注释掉


1. org.springframework.transaction.CannotCreateTransactionException: Could not open JPA EntityManager for transaction; nested exception is java.lang.UnsupportedOperationException: Not supported by BasicDataSource

Spring不能为JAP创建事务。原因是bean.xml设定了数据源persistence.xml中要把数据库连接去掉

     <property name="hibernate.connection.username" value="xxx"/>

     <property name="hibernate.connection.password" value="xxx"/>  

     <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/xxx?     useUnicode=true&amp;characterEncoding=UTF-8"/>

2. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'productServiceBean': Injection of persistence fields failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [beans.xml]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: org.hibernate.MappingException: Could not determine type for: java.util.Set, for columns: [org.hibernate.mapping.Column(childtypes)]

原因:@Id @GeneratedValue(strategy = GenerationType.AUTO)

           这个注解写在get方法上不要写在属性声明上。

3. javax.persistence.PersistenceException: org.hibernate.exception.DataException: could not insert: [com.yufei.bean.product.ProductType]

Caused by: java.sql.SQLException: Data too long for column 'visible' at row 1

原因:实体类字段中的visible插入到数据库中所对应的值为ASCII码味49,超出范围。

          换个mysql的jar包解决问题。

4. web容器出现

严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory

此问题多样化,查阅资料说是jar包commons-logging.jar问题 ,但解决的方式是重新导入项目...

5. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'productTypeService': Injection of persistence fields failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [beans.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V

原因: Spring2.5下asm-2.2.3.jar 与hibernate下的asm.jar 冲突, 删除asm-2.2.3.jar 。

6. Failed to load or instantiate TagLibraryValidator class: org.apache.taglibs.standard.tlv.JstlCoreTLV

org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)

org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)

org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:88)

org.apache.jasper.compiler.Parser.processIncludeDirective(Parser.java:340)

原因:lib中缺少standard.jar , jstl.jar

7. java.lang.NoSuchFieldError: DIRECTORY

at net.fckeditor.connector.impl.AbstractLocalFileSystemConnector.getFolders(AbstractLocalFileSystemConnector.java:140)

at net.fckeditor.connector.Dispatcher.getFoldersAndOrFiles(Dispatcher.java:204)

at net.fckeditor.connector.Dispatcher.doGet(Dispatcher.java:156)

at net.fckeditor.connector.ConnectorServlet.doGet(ConnectorServlet.java:89)

原因:包冲突,删掉struts1.3自带的commons-io-1.1.jar,commons-fileupload-1.1.1.jar,加入commons-io-1.3.2.jar,commons-fileupload-1.2.1.jar

8.IOException while loading persisted sessions: java.io.EOFException

java.io.EOFException

at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2281)

at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2750)

at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:780)

at java.io.ObjectInputStream.<init>(ObjectInputStream.java:280)

原因是tomcat对硬盘的session读取失败,彻底解决办法一下:将work下面的文件清空,主要是*.ser文件,或者只是删除掉session.ser即可以解决。

9.javax.persistence.PersistenceException: org.hibernate.PersistentObjectException: detached entity passed to persist: com.dalton.domain.User

org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException

原因:(1) 是entity bean的 @Id标记错了,标记在了String 等类型上

(2) 对id字段手工设定了值。

10 org.springframework.web.context.ContextLoader(line:215) - Context initialization failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with

name 'brand' defined in file [D:\Tomcat6\webapps\autoet\WEB-INF\classes\com\autoet\

action\brand\BrandAction.class]: Instantiation of bean failed; nested exception is

org.springframework.beans.BeanInstantiationException: Could not instantiate bean

class [com.autoet.action.brand.BrandAction]: Constructor threw exception; nested

exception is java.lang.NullPointerException

原因:项目使用了<context:component-scan/>扫描机制, 而类BrandAction没有标注为原型,

为类添加 @Scope("prototype")标注(与@Controller相同位置)

11 org.hibernate.tool.hbm2ddl.SchemaUpdate(line:222) - could not complete schema update

java.lang.UnsupportedOperationException: Not supported by BasicDataSource

原因 spring.xml 与 persistence.xml中都配置了数据库连接,注释掉persistence.xml中的连接信息

12 org.apache.struts2.dispatcher.Dispatcher(line:27) - Dispatcher initialization failed

Unable to load configuration. - [unknown location]

Cannot locate the chosen ObjectFactory implementation: spring - [unknown location]

原因 struts.xml中使用了<constant name="struts.objectFactory" value="spring"/>,将其注释掉