1、java常见错误以及可能原因集锦0、 需要标识符a) 不在函数内1、 非法表达式开始b) 可能:丢失括号 .2. no data founda) 可能:setInt(1,100)中,没有100这个值3. 找不到符号a) 可能:没导入包4. 指定了无效URLa) 可能:数据库名或IP错误,即连接出错5. 类路径没有找到a) 可能: ClassNotFoundException: oracle.jdbc.driver.OracleDriverb) 原因: 一般是指包名写错,或者没有import包,或者没有在类路径中找到jar文件c) 解决: 没有加载Oracle驱动jar,在.bash_profi
2、le中把ojdbc14.jar加进来6. 空指针异常a) 可能: 数据源错误 比如数据库名或IP错误7. 不能执行查询a) 可能: 数据库中表的问题,比如列名不存在8. invalid identitya) 可能: 列名出错9. 若在数据库中创建了 两个sequence ,运行时出现异常可能是先后执行了多次select语句,导致与原有的序列号产生冲突10. 表名或列名不存在a) 可能:表不存在或者没有插入数据到表中11. 不支持的类,类的版本错误a) 可能:没有导入jdk5.0,或者编译器仍为1.412. MappingNotFoundExceptiona) Maybe: In the Ecl
3、ipse Not refersh , or not exist in the dirctory13. HibernateException: /hibernate.cfg.xml not founda) Maybe1: hibernate.cfg.xml not in the root directoryb) Maybe2: Could not parse configuration .c) resolve: database not connect or use another database14. ConstraintViolationExceptiona) Maybe: used a
4、not true database15. 驱动没有找到 或者 JDBC Driver not found可能:连接数据库的驱动jar包不存在或者版本不一致,比如将旧的版本换成新的会造成该类错误16. 空指针异常 , java.lang.NullPointerExceptiona) 可能1:数据库连接出错,比如在hibernate.cfg.xml中的数据错误会导致异常。17. 数据插入异常 ,GenericJDBCException: could not inserta) 可能1:没有建立表或者表中没有任何数据b) 可能2:插入数据后没有执行提交语句:commit18. LazyInitiali
5、zationException 或者延迟加载异常a) 可能1:没有在查询语句中加fetch19. IdentifierGenerationExceptiona) 可能1:高位表没有初始化(比如hi_value中没有记录)20. could not initialize a collection: hibernate.entity.Role.modules#32768 Syntax error: Encountered - at line 1, column 132.a) 错误原因:红色字部分中“-”为非法字符,替换为module_role21. could not insert collect
6、ion rows: hibernate.entity.Module.roles#1在Module.hbm.xml文件的如下配置中加入inverse=”true”22在部署Struts时,出现如下错误信息:HTTP Status 404 - Servlet action is not availabletype Status reportmessage Servlet action is not availabledescription The requested resource (Servlet action is not available) is not available.问题原因:1
7、.、web.xml文件中未配置ActionServlet。2、struts-config.xml文件未配置你要访问的Action。3、你的jsp文件form标记中action属性的路径名称错误。4、非以上三种情况。针对以上4种情况相应的解决方案如下:1、在web.xml文件中加上ActionServlet的配置信息? /WEB-INF/struts-config.xml?2、在struts-config.xml文件检查你要访问的Action配置文件。3、检查jsp文件form标记中action属性的路径名称是否与struts-config.xml文件中action标记的path属性的路径名称一
8、致。4、非以上情况的解决办法就是检查web容器的log日志,如果时tomcat则检查下logs目录下的localhost_log文件,看里边是否记录有错误信息,然后根据错误信息提示将其纠正。23java.lang.NoClassDefFoundError: org/apache/commons/beanutils/Converter缺少spring-framework-2.0.3libjakarta-commonscommons-beanutils.jar24.ava 代码Caused by: java.lang.NoClassDefFoundError: org/objectweb/asm/
9、Type缺少spring-framework-2.0.3libasmasm-2.2.2.jar包,版本不同,该包的名字有相应的区别java 代码Caused by: java.lang.NoClassDefFoundError: org/dom4j/DocumentException缺少spring-framework-2.0.3libdom4jdom4j-1.6.1.jar包,版本不同,该包的名字有相应的区别把这个包进去就可以了:Spring206libdom4j、dom4j-1.6.1.jarjava 代码Caused by: java.lang.NoClassDefFoundError:
10、 org/apache/commons/collections/SequencedHashMap缺少spring-framework-2.0.3libjakarta-commonscommons-collections.jar包,版本不同,该包的名字有相应的区别java 代码Caused by: java.lang.NoClassDefFoundError: net/sf/cglib/proxy/CallbackFilter缺少spring-framework-2.0.3libcglibcglib-nodep-2.1_3.jar包,版本不同,该包的名字有相应的区别java 代码Caused b
11、y: java.lang.NoClassDefFoundError: org/objectweb/asm/CodeVisitor缺少hibernate-3.2libasm.jar包,版本不同,该包的名字有相应的区别java 代码org.hibernate.exception.SQLGrammarException: could not load an entity: www.proudsoul.xml.User#1JAVA工程与WEB工程包的区别:一个是asm.jar,一个是jta.jarjava 代码Caused by: java.lang.NoClassDefFoundError: jav
12、ax/transaction/TransactionManager缺少spring-framework-2.0.3libj2eejta.jar包,版本不同,该包的名字有相应的区别此种错误请检查相应的*.hbm.xml配置文件的配置25,Exception in thread main org.springframework.dao.InvalidDataAccessResourceUsageException: could not get next sequence value; nested exception is org.hibernate.exception.SQLGrammarExc
13、eption: could not get next sequence valueCaused by: org.hibernate.exception.SQLGrammarException: could not get next sequence value原因:没有加Sequence或者数据库的方言写错了26,我的配置文件然后我运行保存一条数据进去The database returned no natively generated identity value就会报这个错误因为你native是根据看底层数据库的能力选择identity, sequence 或者hilo中的一个而我建表的时
14、候id没有指定alter table student change id id int auto_increment我们把我们的表的结构小小的改动一下就没问题了27,UpdateManager无法启动2007-08-09 15:21如果在应用程序安装过程中,暴力中断安装程序,会出现如下状况:1.apt-get remove 和dpkg -remove 无法删除软件 2.UpdateManager无法启动3.新立得软件包管理程序无法启动以上可能是deb损坏之类造成的sudo dpkg -r sqldveloper正在读取软件包列表. 完成正在分析软件包的依赖关系树. 完成E: 软件包 sqlde
15、veloper 需要重新安装,但是我无法找到相应的安装文件。解决方法:1.从 /var/lib/dpkg/status 中把对应的段删掉重要:修改之前请先备份在status中找到你对应的包删除就OK了.28,Exception in thread main java.lang.NoClassDefFoundError: antlr/ANTLRException少了antlr-2.7.5H3.jar包,从D:eclipseeclipsepluginscom.genuitec.org.hibernate.eclipse_4.1.1myeclipse-data3.0lib29,Caused by:j
16、ava.lang.NoClassDefFoundError: javax/transaction/Synchronization缺少Spring206libj2eejta.jar30,Caused by:java.lang.IllegalArgumentException: Cannot convert value of type $Proxy3 to required type business.impl.PriceBiz for property priceBiz: no matching editors or conversion strategy found在java类中设置price
17、Biz时应该设置的是接口PriceBizIf,而非实现类31, 数组越界可能1: 在命令行后面需要加入参数.可能2:加入的参数错误32, car is not mapped可能1: 在cfg.xml中没有增加映射的hbm.xml文件在中33, 属性没有找到可能1: hbm.xml文件中的 有问题, 也许是name的值与对应类中的成员名不一致34,SQLException: 无当前连接 可能1:在比如创建帐户时没有对相应的方法添加到中去,比如这个没有加入:newAccount transfer 35,SQLException: Syntax error: Encountered table at
18、 line 1, column 8.可能1;执行SQL时出现冲突,可能是SQL语句中使用了关键字作为变量来用,比如update order set balance=1000000;其中order被用作表名来使用,这是错误的,因为order是个关键字,用在order by中36, Servlet /Spring-WebMvc threw load() exceptionorg.xml.sax.SAXParseException: Document root element beans, must match DOCTYPE root null.jar包的冲突,spring-1.2.6.jar和s
19、pring.jar出现在一个war的目录中:JBoss/server/all/deploy/Spring-WebMvc.war/WEB-INF/lib37, java.sql.SQLException: 当事务仍处于活动状态时,无法关闭连接。38 ,validateJarFile(/home/soft01/Tomcat/webapps/sms-token-struts/WEB-INF/lib/servlet-api.jar)Servlet /sms-struts-tiles threw load() exceptionjava.lang.ClassNotFoundException: org.
20、apache.struts.action.ActionServlet原因:在WEB-INF/lib/ 目录下有servlet-api.jar与/Tomcat/common/lib目录下的servlet-api.jar冲突了,把WEB-INF/lib/下的servlet-api.jar删除就可以了39,java.lang.ClassNotFoundException: org.springframework.web.struts.ContextLoaderPlugInMarking servlet action as unavailable10:30:47,088 ERROR /NetCT_OS
21、S:3953 - Servlet /NetCT_OSS threw load() exceptionjavax.servlet.UnavailableException40,org.xml.sax.SAXParseException: Document root element beans, must match DOCTYPE root null.缺少MyEclipse/eclipse/plugins/com.genuitec.eclipse.springframework_5.5.0/data/2.0/dist/modules/spring-struts.jar41,Caused by:
22、java.sql.BatchUpdateException: ORA-02291: integrity constraint (SD0702.FK82D343CF49A4B831) violated - parent key not foundCaused by: org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update有可能是ID生成策略的问题,我将它XML映射文件改成就好了42,2007-08-19 16:21:43,290 ERROR org.apache.catal
23、ina.core.ContainerBase.Catalina.localhost./OSS.action - Servlet.service() for servlet action threw exceptionorg.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: entity.Module#2java.util.ConcurrentModificationException原因:已经
24、有对象拥有了所选择的module,用clear(),而不是remove();43,ERROR org.apache.catalina.session.ManagerBase - IOException while loading persisted sessions: java.io.InvalidClassException: entity.Module; local class incompatible: stream classdesc serialVersionUID = -5988350031935445758, local class serialVersionUID = -297
25、934247726484429java.io.InvalidClassException: entity.Module; local class incompatible: stream classdesc serialVersionUID = -5988350031935445758, local class serialVersionUID = -297934247726484429在Module中加上一个关键字:transient44,Caused by: java.sql.BatchUpdateException: ORA-02292: integrity constraint (SD
26、0702.SYS_C00132664) violated - child record found原因:有其他的表引用了该表的外建,所以报这个异常,如果没有引用就不会出现45,出现数组越界的时候,看看是不是循环时没有加=,比如:for(int i = 1; iarr.length;i+)可以改成for(int i = 1; i=arr.length;i+)46.如果使用Ant和Junit是被报找不到test,检查一下是否误用了private出错信息:junit.framework.AssertionFailedError: No tests found in test.AllTest该错误有个
27、很特别的特点,当你不通过ant来运行测试,而是通过AllTest类来运行的话,可以正常运行。小心哦47.如果遇到报:表名无效,且jvm报严重错误,看看是不是用了数据库的保留关键字来做表名了,如User。48.使用ant时必须小心ant的classpath它用的不是IDE的classpath,小心!49.小心下边的异常,exception setting property value with CGLIB (set hibernate.cglib.use_reflection_optimizer=false for more info) setter of xp.bean.Users.? typ
28、e=net.sf.hibernate.PropertyAccessExceptionjava.lang.ClassCastException at xp.bean.UsersMetaClass1.setPropertyValues() at net.sf.hibernate.persister.AbstractEntityPersister.setPropertyValues上次出现该错错误的原因是:源文件里我的class类型为一个类Contact contact而跑到mapping里却成了Set,呵呵厉害。50.突然间冒出大量的NullPointException重新build一下。51.=
29、Flush during cascade is dangerous - this might occur if an object was deleted and then re-saved by cascade52.Tapestry的出错信息:Class com.bookshop.Hello does not implement the IPage interface.location: context:/WEB-INF/Home.page, line 6原因:与显示有关的哪个java类没有从IPage家族继承。53.使用ant时给出的路径好象不允许出现空格。54.由于使用ant时用junit做测试的话,classpath中出现j2ee.jar的话,问题多多。例如xml格式的log文件生成不了,莫名其妙的Nul
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1