Java编程ssh整合常见错误解析
1.org.springframework.transaction.CannotCreateTransactionException:CouldnotopenJPAEntityManagerfortransaction;nestedexceptionisjava.lang.UnsupportedOperationException:NotsupportedbyBasicDataSource
Spring不能为JAP创建事务。原因是bean.xml设定了数据源persistence.xml中要把数据库连接去掉
2.org.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'productServiceBean':Injectionofpersistencefieldsfailed;nestedexceptionisorg.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'entityManagerFactory'definedinclasspathresource[beans.xml]:Invocationofinitmethodfailed;nestedexceptionisjavax.persistence.PersistenceException:org.hibernate.MappingException:Couldnotdeterminetypefor:java.util.Set,forcolumns:[org.hibernate.mapping.Column(childtypes)]
原因:@Id@GeneratedValue(strategy=GenerationType.AUTO)
这个注解写在get方法上不要写在属性声明上。
3.javax.persistence.PersistenceException:org.hibernate.exception.DataException:couldnotinsert:[com.yufei.bean.product.ProductType]
Causedby:java.sql.SQLException:Datatoolongforcolumn'visible'atrow1
原因:实体类字段中的visible插入到数据库中所对应的值为ASCII码味49,超出范围。
换个mysql的jar包解决问题。
4.web容器出现
严重:Exceptionsendingcontextinitializedeventtolistenerinstanceofclassorg.springframework.web.context.ContextLoaderListenerjava.lang.NoClassDefFoundError:org/apache/commons/logging/LogFactory
此问题多样化,查阅资料说是jar包commons-logging.jar问题,但解决的方式是重新导入项目...
5.org.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'productTypeService':Injectionofpersistencefieldsfailed;nestedexceptionisorg.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'entityManagerFactory'definedinclasspathresource[beans.xml]:Invocationofinitmethodfailed;nestedexceptionisjava.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.FailedtoloadorinstantiateTagLibraryValidatorclass: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
atnet.fckeditor.connector.impl.AbstractLocalFileSystemConnector.getFolders(AbstractLocalFileSystemConnector.java:140)
atnet.fckeditor.connector.Dispatcher.getFoldersAndOrFiles(Dispatcher.java:204)
atnet.fckeditor.connector.Dispatcher.doGet(Dispatcher.java:156)
atnet.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.IOExceptionwhileloadingpersistedsessions:java.io.EOFException
java.io.EOFException
atjava.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2281)
atjava.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2750)
atjava.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:780)
atjava.io.ObjectInputStream.
原因是tomcat对硬盘的session读取失败,彻底解决办法一下:将work下面的文件清空,主要是*.ser文件,或者只是删除掉session.ser即可以解决。
9.javax.persistence.PersistenceException:org.hibernate.PersistentObjectException:detachedentitypassedtopersist:com.dalton.domain.User
org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException
原因:
(1)是entitybean的@Id标记错了,标记在了String等类型上
(2)对id字段手工设定了值。
10org.springframework.web.context.ContextLoader(line:215)-Contextinitializationfailed
org.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwith
name'brand'definedinfile[D:\Tomcat6\webapps\autoet\WEB-INF\classes\com\autoet\
action\brand\BrandAction.class]:Instantiationofbeanfailed;nestedexceptionis
org.springframework.beans.BeanInstantiationException:Couldnotinstantiatebean
class[com.autoet.action.brand.BrandAction]:Constructorthrewexception;nested
exceptionisjava.lang.NullPointerException
原因:项目使用了
为类添加@Scope("prototype")标注(与@Controller相同位置)
11org.hibernate.tool.hbm2ddl.SchemaUpdate(line:222)-couldnotcompleteschemaupdate
java.lang.UnsupportedOperationException:NotsupportedbyBasicDataSource
原因spring.xml与persistence.xml中都配置了数据库连接,注释掉persistence.xml中的连接信息
12org.apache.struts2.dispatcher.Dispatcher(line:27)-Dispatcherinitializationfailed
Unabletoloadconfiguration.-[unknownlocation]
CannotlocatethechosenObjectFactoryimplementation:spring-[unknownlocation]
原因struts.xml中使用了
总结
以上就是本文关于Java编程ssh整合常见错误解析的全部内容,希望能对大家有所帮助。如有不足之处,欢迎留言指出,小编会及时更正。感兴趣的朋友可以参阅:Kryo框架使用方法代码示例、Java集合框架源码分析之LinkedHashMap详解、浅谈Zookeeper开源客户端框架Curator等以及本站其他相关专题,感谢大家对本站的支持!