admin 管理员组

文章数量: 887044


2023年12月22日发(作者:一个app下载网站)

java常见错误以及可能原因集锦

java常见错误以及可能原因集锦

0、需要标识符

a) 不在函数内

1、非法表达式开始

b) 可能:丢失括号 .

2. no data found

a) 可能:setInt(1,100)中,没有100这个值

3. 找不到符号

a) 可能:没导入包

4. 指定了无效URL

a) 可能:数据库名或IP错误,即连接出错

5. 类路径没有找到

a) 可能: ClassNotFoundException:

Driver

b) 原因: 一般是指包名写错,或者没有import包,或者没有在类路径中找到jar文件

c) 解决: 没有加载Oracle驱动jar,在.bash_profile中把加进来

6. 空指针异常

a) 可能: 数据源错误比如数据库名或IP错误

7. 不能执行查询

a) 可能: 数据库中表的问题,比如列名不存在

8. invalid identity

a) 可能: 列名出错

9. 若在数据库中创建了两个sequence ,运行时出现异常可能是先后执行了多次select 语句,导致与原有的序列号产生冲突

10. 表名或列名不存在

a) 可能:表不存在或者没有插入数据到表中

11. 不支持的类,类的版本错误

a) 可能:没有导入jdk5.0,或者编译器仍为1.4

12. MappingNotFoundException

a) Maybe: In the Eclipse Not refersh , or not exist in the

dirctory

13. HibernateException: / not found

a) Maybe1: not in the root directory

b) Maybe2: Could not parse configuration .

c) resolve: database not connect or use another database

14. ConstraintViolationException

a) Maybe: used a not true database

15. 驱动没有找到或者 JDBC Driver not found

可能:连接数据库的驱动jar包不存在或者版本不一致,比如将旧的版本换成新的会造成该类错误

16.

ption

a) 可能1:数据库连接出错,比如在中的数据错误会导致异常。

17. 数据插入异常,GenericJDBCException: could not insert

a) 可能1:没有建立表或者表中没有任何数据

b) 可能2:插入数据后没有执行提交语句:commit

18. LazyInitializationException 或者延迟加载异常

a) 可能1:没有在查询语句中加fetch

19. IdentifierGenerationException

a) 可能1:高位表没有初始化(比如hi_value中没有记录)

20. could not initialize a

Syntax

collection:

error: [s#32768]

Encountered "-" at line 1, column 132.

a) 错误原因:红色字部分中“-”为非法字符,替换为空指针异常,

/doc/,interExce

module_role

21. could not insert collection rows:

[#1]

在文件的如下配置中加入inverse=”true”

22.在部署Struts时,出现如下错误信息:

HTTP Status 404 - Servlet action is not available

type Status report

message Servlet action is not available

description The requested resource (Servlet action is not

available) is not available.

问题原因:

1.、文件中未配置ActionServlet。

2、文件未配置你要访问的Action。

3、你的jsp文件form标记中action属性的路径名称错误。

4、非以上三种情况。

针对以上4种情况相应的解决方案如下:

1、在文件中加上ActionServlet的配置信息

/WEB-INF/?

2、在文件检查你要访问的Action配置文件。

3、检查jsp文件form标记中action属性的路径名称是否与文件中action标记的path属性的路径名称一致。

4、非以上情况的解决办法就是检查web容器的log日志,如果时tomcat则检查下logs 目录下的localhost_log文件,看里边是否记录有错误信息,然后根据错误信息提示将其纠正。

23./doc/,sDefFoundError: org/apache/commons/beanutils/Converter 缺少spring-framework-2.0.3libjakarta-commonscommons-24. java 代码Caused by:

/doc/,sDefFou

ndError:

org/objectweb/asm/Type

缺少包,版本不同,该包的名字有相应的区别

java

ndError:

org/dom4j/DocumentException

缺少包,版本不同,该包的名字有相应的区别

把这个包进去就可以了:Spring206libdom4j、

java

ndError:

org/apache/commons/collections/SequencedHashMap

缺的区别

java

ndError:

net/sf/cglib/proxy/CallbackFilter

缺少spring-framework-2.0.3libcglibcglib-nodep-2.1_包,版本不同,该包的名字有相应的区别

java

ndError:

org/objectweb/asm/CodeVisitor

缺少包,版本不同,该包的名字有相应的代码Caused by:

/doc/,sDefFou代码Caused by:

/doc/,sDefFou少包,版本不同,该包的名字有相应代码Caused by:

/doc/,sDefFou代码Caused by:

/doc/,sDefFou

区别

java 代码

mmarException: could not

load an entity:

[/doc/,er#1]

JAVA工程与WEB工程包的区别:一个是,一个是

java

ndError:

javax/transaction/TransactionManager

缺少包,版本不同,该包的名字有相应的区别此种错误请检查相应的***.配置文件的配置

25, Exception in thread "main"

dDataAccessResourceUsageException:could not get next sequence value; nested exception is

mmarException: could not

get next sequence value Caused by:

mmarException: could not get

next sequence value

原因:没有加Sequence或者数据库的方言写错了

26,我的配置文件

然后我运行保存一条数据进去

The database returned no natively generated identity value

就会报这个错误

因为你native是根据看底层数据库的能力选择identity,

sequence 或者hilo中的一个

而我建表的时候id没有指定

alter table `student` change `id` `id` int auto_increment

我们把我们的表的结构小小的改动一下就没问题了

代码Caused by:

/doc/,sDefFou

27,

UpdateManager无法启动2007-08-09 15:21如果在应用程序安装过程中,暴力中断安装程序,会出现如下状况:-get remove

和dpkg --remove 无法删除软件

Manager无法启动

3.新立得软件包管理程序无法启动

以上可能是deb损坏之类造成的

sudo dpkg -r sqldveloper

正在读取软件包列表... 完成

正在分析软件包的依赖关系树... 完成

E: 软件包 sqldeveloper 需要重新安装,但是我无法找到相应的安装文件。

解决方法:1.从 /var/lib/dpkg/status 中把对应的段删掉

重要:修改之前请先备份

在status中找到你对应的包删除就OK了...

28,

Exception

ndError:

antlr/ANTLRException

少了包,从

D:eclipseeclipseplugins/doc/,.e_4.1.1myeclips e-data3.0lib

29,

Caused by:

/doc/,sDefFoundError: javax/transaction/Synchronization

缺少

30,

Caused by:

in thread "main"

/doc/,sDefFou

/doc/,lArgumentException: Cannot convert value of type [$Proxy3] to

required type [iz] for property 'priceBiz': no

matching editors or conversion strategy found

在java类中设置priceBiz时应该设置的是接口PriceBizIf,而非实现类

31, 数组越界

可能1: 在命令行后面需要加入参数.

可能2:加入的参数错误

32, car is not mapped

可能1: 在中没有增加映射的文件在中

33, 属性没有找到

可能1: 文件中的 有问题, 也许是name的值与对应类中的成员名不一致

34,SQLException: 无当前连接可能1:在比如创建帐户时没有对相应的方法添加到

中去,比如这个没有加入:newAccount

Java代码

<="" bdsfid="210" id="transactionAdvisor" p="">

class="/doc/,MatchMethodPointcutAdvisor">

transfer

<="" bdsfid="225" id="transactionAdvisor" p="">

class="/doc/,MatchMethodPointcutAdvisor">

transfer

35,SQLException: Syntax error: Encountered "table" at line 1,

column 8.

可能1;执行SQL时出现冲突,可能是SQL语句中使用了关键字作为变量来用,比如

update order set balance=1000000;

其中order被用作表名来使用,这是错误的,因为order是个关键字,用在order by中

36, Servlet /Spring-WebMvc threw load() exception

seException: Document root element

"beans", must match DOCTYPE root "null".

jar包的冲突,和出现在一个war的目录

中INF/lib

37, eption: 当事务仍处于活动状态时,无法关闭连接。

38 ,

validateJarFile(/home/soft01/Tomcat/webapps/sms-token-struts/WEB-INF/lib/ser )

Servlet /sms-struts-tiles threw load() exception

/doc/,otFoundException: Servlet

原因:在WEB-INF/lib/ 目录下有与/Tomcat/common/lib目录下的冲突了,把WEB-INF/lib/下的删除就可以了

39,/doc/,otFoundException:

tLoaderPlugIn

Marking servlet action as unavailable

10:30:47,088

/NetCT_OSS

ERROR

threw

[/NetCT_OSS]:3953

load()

- Servlet

exception

:JBoss/server/all/deploy//lableException

40,seException: Document root element

"beans", must match DOCTYPE root "null".

缺少

MyEclipse/eclipse/plugins/framework_5.5.0/data/2.

0/dist/modules/

41,Caused by: pdateException: ORA-02291:

integrity constraint (82D343CF49A4B831) violated -

parent key not found

Caused

execute JDBC batch update

有可能是ID生成策略的问题,我将它XML映射文件改成就好了

42,

2007-08-19 16:21:43,290 ERROR

[nerBase.[Catalina].[localhost].[/OSS].[actio n]] - e() for servlet action threw

exception

queObjectException: a different object

with the same identifier value was already associated with the

session:

rentModificationException

原因:已经有对象拥有了所选择的module,用clear(),而不是remove();

43,

ERROR

IOException

incompatible:

[rBase]

while

stream

loading

classdesc

persisted

; local

-

class

= -sessions:

[#2]

by:

aintViolationException: Could not

dClassException:

serialVersionUID

5988358, local class serialVersionUID = -297934247726484429

dClassException: ; local class

incompatible: stream classdesc serialVersionUID = -5988358, local class serialVersionUID = -297934247726484429

在Module中加上一个关键字:transient

44,

Caused by: pdateException: ORA-02292:

integrity constraint (_C00132664) violated - child

record found

原因:有其他的表引用了该表的外建,所以报这个异常,如果没有引用就不会出现

45,

出现数组越界的时候,看看是不是循环时没有加=,比如:

for(int i = 1; i<;i++)可以改成< bdsfid="280"

p="">

for(int i = 1; i<=;i++)

46.如果使用Ant和Junit是被报找不到test,检查一下是否误用了private

出错信息:

<="" bdsfid="285" message="No tests found in t"

p="">

type="ionFailedError">ionFailedE rror: No tests found in t

该错误有个很特别的特点,当你不通过ant来运行测试,而是通过AllTest类来运行的话,可以正常运行。小心哦

47.如果遇到报:表名无效,且jvm报严重错误,看看是不是用了数据库的保留关键字来做表名了,如User。

48.使用ant时必须小心ant的classpath它用的不是IDE的classpath,小心!

49.小心下边的异常,

exception setting property value with CGLIB (set

/doc/,e_reflection_optimizer=false for more info) setter of

/doc/,ers.?"

type="tyAccessException">/doc/,astException

PropertyValues() at

pertyValues

上次出现该错错误的原因是:

源文件里我的class类型为一个类Contact contact

而跑到mapping里却成了Set,呵呵厉害。

50.突然间冒出大量的NullPointException

重新build一下。

51.="Flush during cascade is dangerous - this might occur if

an object was deleted and then re-saved by cascade"

ry的出错信息:

Class does not implement the IPage

interface.

location: context:/WEB-INF/, line 6

原因:与显示有关的哪个java类没有从IPage家族继承。

53.使用ant时给出的路径好象不允许出现空格。

54.由于使用ant时用junit做测试的话,classpath中出现的话,问题多多。例如xml格式的log文件生成不了,莫名其妙的NullPointException等。所以我设置了两个包个包含,为编译用;一个没有,为junit用

55.进行单元测试时,在查询返回后应马上assertNotNull(),这样可以更快速的定位NullPointException

56.要使用ResourceBundle的话,要千万小心。必须用日志记录下它的状态。还有该属性文件应该放在classes下面。

at

/doc/,

57.当要显示任何页面时,都被提示无效,那么应该检查一下lib目录了,还有一些很奇怪的异常,例如你明明可以找到一个类但是服务器却提示ClassNotDefException,那么估计是缺少了该类所必须的包了。或者多了不兼容的包,如, xdoclet系列包不被struts 的lib目录所兼容

58.编写clone时从Java编程思想(2nd)上学到的(732):

.引数传递过程中会自动产生别名(alias)。

.没有局域对象(local objects),只有局域性的(local)references。

.reference受范围(scope)的限制,对象则否。

.对象的寿命从来不是Java的讨论议题(因为有垃圾回收机制)

catch finally的域居然是分离的。

乱码的其中一个原因:charset="gb2312" 等号"="的两边不允许有空格。

61.我的基于Displaytag的简单报表解决方案。

/doc/,/

下载和

放在lib目录,而放在WEB-INF目录,在中为声明一下。

/doc/,

/WEB-INF/

在jsp里使用前,加上

<%@

uri="/doc/,"

prefix="display" %>

注意该软件有个bug,他要用的一个包版本必须在2.0以上。

如果碰到下面异常,则应坚持一下是否该包的版本问题。

/doc/,MethodError:

/doc/,

capitalize(Ljava/lang/String;)Ljava/lang /String;

然后就可放心使用了

其中xxx为对象中的带有getter的变量>。

定义表格的样子,用css定义。如

THEAD TR {

BACKGROUND-COLOR: #69c

}

{

BACKGROUND-COLOR: #def

}

在使用分页时,可能会出现这种情况,点击其他页时,弹出下载窗口,让你下载当前jsp 页面,这是因为你在当前页面读取了数据的缘故。解决办法为在action里读取数据而不是在jsp里。可以参考

/doc/,/?d-26189-p=2

62.使用displaytag时,在一列中放入多个元素

必须在display:table中定义一个id

"/Bookshop/admin/?action=view&id=<%=((Book)item).getId()%>" target = "_blank" >查看

"/Bookshop/admin/?action=edit&id=<%=((Book)item).getId()%>" >编辑

"/Bookshop/admin/?action=delete&id=<%=((Book)item).getId()% >">删除

要在displaytag中使用链接,必须具备paramId,否则不显示为链接

可以这样使用display

其中product为对象

63. 可以直接取到

ribute()取到的东西。

64.实验struts-upload例子时要注意的地方:

you would rather write this file to another file, please

check here:

这一行要打钩

you checked the box to write to a file, please specify the

file path here: 在这里要重命名如:c:

上传成功的话,会出现提示 The file has been written to

"c:"

ate的like可以这么用:

Query query =

as

Query("from

book where

");

ing("name", "%");

result = ();

ate出现 duplicate import : className

异常也可能是因为忘了为持久类在configuration中addClass了

67.

name所引用的是session里的attribute。

68.如果发现要出现询问下载的情况,有可能是因为要跳转的页面出现了问题。试试在要跳转到的页删掉

<%@ page contentType="text/html; charset=gb2312"%>

69.如果JSP页面跳转时出现下边的错误信息:

The request sent by the client was syntactically incorrect

(Invalid path

/web/shoppingCart was requested).

原因是struts-config的action = "x" 写成了 action = ""

70.在struts中,中,forward时使用redirect

= "true"可以将.do 重定向为.jsp

71.以后在判断相等性之前先用logger把两个值显示出来。

72.从session里getAttribute后,修改并不需要重新upper(/doc/,) like :name

setAttribute一次。

73.在hibernate中使用subclass是一棵继承树共用一个表,仅生成个mapping。

每个类中必须有discrimator-value。在最上层的类中必须声明:

@minator column = "class"。

不可以将子类添加到configuration里去。(即不可addClass(子类))

使用Xdoclet的建立subclass的例子(该类是父类)

/**

* @ discriminator-value = "customer"

* @minator column = "class"

*/

而使用joined-subclass则是一类一表,也不许将子类添加进configuration里去。

/**

* @-subclass

* @-subclass-key

* column="customer_id"

*/

如果发现生成的mapping文件中joined-subclass的key column为空,那么可能是

@-subclass-key这句没有写对。

用joined-subclass生成的表,仔细看。Member extends

Customer

create table Customer (

id VARCHAR2(255) not null,

name VARCHAR2(255),

description VARCHAR2(255),

primary key (id)

)

create table Member (

customer_id VARCHAR2(255) not null,

password VARCHAR2(255),

primary key (customer_id)

)

74.在junit中尽量使用assertEquals代替assertTrue;

ate

如果Child extends Parent

那么from Parent as parent 也将会将Child选出来,而from

Child as child 则不会选出Parent

ate

使用hibernate的one-to-one时,应该两方向都set,否则会报save NullPointException ld(child);

ent(parent);

ate

遇到下边的异常,估计是与因为外键出现了问题:

/doc/,interException

at

pertyValue(Abstract :675)

at

te(:33)

如:

* @ generator-class = "foreign"

* @tor-param name = "property" value =

"customer"

* @-to-one name = "custmoer" class =

"er" value的值和one-to-one 中name的值

不符,则会出现上边的异常。如果不显示指定name 则默认取成员变量名

Customer a

则name = "a" 需要小心的是不是类名。所以,以后最好显示指定名字为好。

78.出现异常:

Exceptionobject references an unsaved transient instance -

save the transient instance before flushing: t

原因没有为某对象进行set设置,如上边的这个就是某对象没有调用setProduct

79.

"xxx action = "/a" 不用.do和根目录名

80.

Caused by: eption: ORA-02291: 违反完整约束条件(4AAEE

47687CCA6B) - 未找到父项关键字

如果你觉得该做的e是出现这个问题,那么检查一下,是否将类的继承关系在hibernate 的mapping中反映了出来。joined-subclass或subclass

例如a extends b

如果持久类c 需要Set的是持久类a,那么你把b传入,而b又没有在mapping中将父子关系反映出来的话,就会出现该异常

81.使用DynaActionForm需要注意的问题

在struts-config声明

<="" bdsfid="473" dynamic="true"

name="memberloginForm" p="">

type="tionForm">

在Action里将form强制转化成DynaActionForm,然后get("属性名")就可以了

的validate最简单实现

1.首先准备好错误提示信息。

ties 里

ed={0} is required.(默认已有)

必须从ValidatorForm继承

3.不可以重载ValidatorForm的validate函数

4.在中为你想验证的表单进行验证设计。例如

(该参数将在显示错误信息是从ties读取/doc/,erName,填入{}方括号里,取代0。如果是arg1将将填入{1}位置,以此类推。

不需要在action里做任何处理。只管forward就行了。作为forward的目标页,不需要任何有关用于处理出错信息的处理。

83.服务器报

The requested resource (/xxxx/) is not available.的很奇怪的一个的可能原因

在中定义的tld,没有找到

或者是lib目录下的包太多出现了问题。

/spring

/WEB-INF/

如WEB-INF目录下不存在的话,就会报上边的错误

84.

spring的的使用SimpleFormController系列的类问题:

true

priceIncrease

PriceIncrease

priceIncrease

hello

这里要注意几个问题:

(1)上边的PriceIncrease是了类名,必须在classes里存在该类,否则报:PropertyVetoExceptionsException: 1 errors:--

ErrorCodedPropertyVetoException: message=[Failed to convert

property

required

[/doc/,]

value of type

to

type

for

[/doc/,]

property named 'commandClass'; nested exception is:

/doc/,lArgumentException: Invalid class name [PriceIncrease]: PriceIncrease];

errorCode=[typeMismatch]

/doc/,lArgumentException: Invalid class name [PriceIncrease]: PriceIncrease

(2)priceIncrease

这一行必不可少,priceIncrease是页面的名字,他将会是prefix

+ priceIncrease + suffix

如果缺少该行,则报:

tException: Error in ModelAndView object

or View resolution encountered by servlet with name

'pocketSpring': View to render cannot be null with

ModelAndView [ModelAndView: materialized View is [null];

Model=[{priceIncrease=PriceIncrease@148e798,

ncrease=framewo ception: BindException:

0 errors}]]

使用Errors的rejectValue相关问题:

rejectValue(/doc/,

/doc/,

errorCode,

field,

/doc/,[]

errorArgs,

/doc/,

defaultMessage)

Reject the given field of the current object, using the given

error description. 当前对象指的是中与validator类有联系的哪个对象。

第一个是:当前对象的属性名,必须存在

第二个是:将要从属性文件中读取的消息

第三个是:传递给所读取的消息的参数,如:

-low=You have to specify a percentage higher than

{0}!

第四个是:当从属性文件中读取消息不成功时,所reject的值

以后从request中读取parameter可以借用spring的RequestUtils包里的getStringParameter

public

/doc/,

getStringParameter(rvletRequest

request,

&bsp;

/doc/, name,

/doc/,

defaultVal)

Get a string parameter, with a fallback value. Never throws an

exception. Can pass a distinguished value to default to enable

checks of whether it was supplied. 不会抛异常

Hibernate的问题:2.1rc的问题

INFO: cache provider: er

ateException: could not instantiate

CacheProvider:

static

解决办法,2.1rc比以前的版本多需要一个包

的问题

static函数只可以访问static成员变量。

而static变量可以被任何成员函数访问。

86.

/doc/,sDefFoundError: javax/transaction/Synchronization]; 需要添加


本文标签: 没有 可能 出现 文件