Jboss错误一览

本文深入分析了Jboss应用服务器在实际使用中遇到的几个常见错误,包括XML加载错误、内存溢出错误、持久化层错误、方法调用错误等,并提供了详细的解决方法。此外,还讨论了在开发过程中遇到的其他一些问题,如输出流错误等,旨在帮助开发者高效解决问题,提升开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   Jboss作为应用服务器,已经体现出强大的价值。本文将对Jboss的一些相关错误做持续跟踪。

1.loader: No ClassLoaders found for: org.apache.xerces.dom.DOMXSImplementationSourceImpl

这个错误不是程序错误,是启动时xml读取资源出现的问题,一般会是两个工程冲突造成

解决办法:重新下个jboss,比如我的是jboss4.2.3.

2.java.lang.OutOfMemoryError: PermGen space

这其实是java虚拟机的错误。JVM在启动时,将大量第三方jar和class文件放到 permGen区域里面(内存永久区),这里面的东西无法被gc回收,当你的jar和class里面存的东西太多了,就会导致溢出。解决办法是调整jvm配置参数。如果是eclipse或者myeclipse在跑的话,直接window--preferences--servers--jbossX--JDK--Optional Java VM arguments:里面写入

-Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m.如果是直接run.bat启动的话,直接修改jboss的配置文件。

3.javax.persistence.PersistenceException: org.hibernate.MappingException:

错误原因:javax.persistence.Query这个类,需要调用entityManager的createNativeQuery方法,不是createNamedQuery方法,别写错了。如果是createNamedQuery,则需要在xml里面配置。

解决方法:将createNamedQuery改为createNativeQuery。

4.jboss提示找不到方法,即使ear包里面有这些方法。

错误原因:可能是myeclipse的编译bug,插件问题,使得java文件编译出现问题。

解决办法:重新建立个方法,建立相应的类。

5.getOutputStream() has already been called for this response,这个是因为同时调用了getWriter()和 response.getOutputStream()。

解决办法:步骤1:注意调用getWriter()或response.getOutputStream()后,先要调用response.getOutputStream(),将流清空。步骤2:如果是sturts2,记住方法结束后"return NONE",交给stuts2管理,如果return ERRROR或者SCCESS都有可能出问题。这里再次说明,细节很重要。

6.zip文件总是以action的名字结尾,而不是自定义的命名,不论怎么改。

原因:在response.addHeader之前调用out.flusht和response.getOutputStream()了 。

解决办法:把out.flusht和response.getOutputStream()放在response.addHeader之后 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值