Jboss从4到5的版本的变化是比较大的,主要是它对包的冲突限制非常严格,在4版本中基本上不是非常严格,如果有包冲突,会自动选择,但在5中回出非常多的转换异常错误,导致项目无法发布,或是发布完成后无法访问,现把这次升级中遇到的错误及解决办法记录如下.
1 The method getJspApplicationContext(ServletContext) is undefined for the type JspFactory
将工程路径下的WebRoot下的WEB-INF下的lib里的jsp-api-2.0.jar,servlet-api-2.4.jar删除就OK 了,应该是工程里自带的这两个文件和TOMCAT里的文件冲突导致的ok!
2 org.jboss.util.NestedSQLException: Could not create connection; - nested throwable: (java.lang.NullPointerException); - nested throwable: (org.jboss.resource.JBossResourceException: Could not create connection; - nested throwable: (java.lang.NullPointerException))
这个是由于配置了数据库的连接池,但是lib中没有相应的连接数据库的驱动,无法产生连接.
3
1,Jboss 在启动时报Failed to create a new SAX parser 错误。
2,Jboss 在启动时报(java.lang.ClassNotFoundException: JACC:Error PolicyConfigurationFactory : cannot find class : null)
解决方案
1,删除 xerces*.jar 和xml-apis*.jar,解决XML 解析器实现冲突。
2,删除jaas.jar and jcr*.jar,解决jaas 实现冲突。
4
java.lang.ClassCastException: gnu.xml.aelfred2.JAXPFactory cannot be cast to javax.xml.parsers.SAXParserFactory
原因为:
项目中的gnujaxp.jar和服务器上的java xml解析器冲突.
5
Getting java.lang.ClassCastException: org.apache.catalina.connector.RequestFacade cannot be cast to javax.servlet.http.HttpServletRequest
这个是由于项目中包含的Servlet.jar和服务器上的jar发生了冲突.
6 JBoss是自带Hibernate的绝大多数库文件的,所以IDE引入的Hibernate相关库绝对不能随着项目打包,做法同上,把“package”的勾选去掉即可。我曾被这个问题困扰,因为将Hibernate打进war包的结果就是JBoss将在程序运行的时候报出下面的错误信息:
org.jboss.resource.adapter.jdbc.WrapperDataSource cannot be cast to javax.sql.DataSource
这个问题非常的搞,即使把hibernate等的包都搞掉可能还会出问题,我在这边被搞了好久,还好解决了,
总结一下
1 可能是hibernate包冲突问题.
2 可能是项目中的数据库驱动和服务器上数据库驱动重复,导致冲突
3 这个很隐蔽,可能有的包中含有Javax.sql.DataSource,也会冲突,我查到的就有一个,class12.jar
总之来说Jboss5是一个很让人头疼的版本.
分享到:
相关推荐
标题中的“jdk1.6与jboss5.x冲突问题的解决方法”指的是在使用Java Development Kit(JDK)1.6版本与JBoss Application Server 5.x版本进行集成时可能出现的兼容性问题。JBoss AS是一款开源的企业级Java应用程序...
- **JBoss启动常见异常**:在启动过程中可能出现的各种异常情况及其解决方法。 综上所述,JBoss 5.1作为一款成熟稳定的Java EE应用服务器,不仅提供了丰富的功能支持,还具有良好的可扩展性和可配置性。通过以上...
- **异常分类器类名**:`org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter`,用于处理来自数据库的异常。 - **元数据**:指定`type-mapping`为`mySQL`,对应于标准的JBoss CMP-JDBC映射。 #### 步骤三...
3. **异常处理**:描述中的“如截图所示”暗示可能存在一个具体的错误消息或堆栈跟踪。分析这些信息对于定位问题至关重要,因为它们能提供错误发生的具体位置和原因。例如,常见的错误可能有SQL语法错误、权限问题、...
- 使用`while true`循环确保JBoss在异常退出后能够自动重启,增强了服务的可用性。 #### 二、JBoss内存优化 JBoss在运行时会消耗大量内存,因此对其内存进行优化是提高整体性能的关键步骤之一。 **优化要点:** ...
2. **常见的JBoss漏洞** - **RMI(Remote Method Invocation)漏洞**:RMI是Java的一种远程调用机制,但如果不正确配置,可能会允许未经身份验证的远程用户执行任意代码。 - **JMX(Java Management Extensions)...
本文主要针对两个常见的漏洞——JBoss漏洞和Struts漏洞,详述其情况、影响以及解决方案,旨在帮助用户理解漏洞的危害并采取有效的防护措施。 首先,让我们关注Struts漏洞。Struts2是一个广泛使用的Java企业级Web...
6. **强大的异常处理**:Netty 的异常处理机制能够帮助开发者更有效地处理错误和异常。 7. **线程模型**:Netty 的 EventLoop 和 ChannelGroup 机制简化了多线程编程,确保了高效的并发执行。 8. **可扩展性**:...
传统的Web框架往往没有在整个Web交互周期中管理持久化上下文,这会导致各种ORM异常的发生,例如LazyInitializationException。由于Seam的主要贡献者之一Gavin King同时也是Hibernate的创造者,因此Seam在设计之初就...
### 动态类装载与异常处理 #### 异常示例分析 当在动态环境中(如应用服务器)进行类装载时,可能会遇到以下几种异常: - **ClassCastException**:当尝试将对象转换为不兼容的类型时抛出。例如,将`java.net.URL`...
5. **测试**:通过编写测试用例,确保事务的正确性,检查在异常情况下是否能正确回滚。 通过这种集成,你可以构建出一个高可用、可扩展的企业级应用,能够处理复杂的业务流程,同时保证数据的一致性和完整性。这种...
- 异常处理:确保监控Jboss的日志,以便在出现问题时进行故障排查。 - 高可用性:确保每个Jboss实例都运行在独立的物理或虚拟机上,避免单点故障。 - 性能监控:可以使用工具监控Apache和Jboss的性能指标,如CPU...
5. **防御性编程**:在反序列化代码中添加异常处理,防止意外的异常导致的系统崩溃。 6. **监控和日志**:实施日志记录和入侵检测系统,以便快速发现异常行为。 总之,Java反序列化安全不容忽视,尤其是对于企业级...
JBoss 采用了一种独特的类加载器架构,这种架构解决了常见的类加载问题,如类铸异常、非法访问异常和链接错误等。此外,还深入介绍了 JBoss 的类加载架构如何工作,包括其内部机制和实现细节。 #### JBoss XMBeans ...
在IT行业中,集成不同的服务和框架是常见的任务,特别是在企业级应用开发中。本文将深入探讨如何在Tomcat 6.0服务器上调用运行在Jboss 5.0服务器上的EJB 3.0模块,同时使用MySQL作为数据库。我们将讨论SSH(Spring、...
拦截器在EJB3中扮演的角色类似于AOP(面向切面编程)中的切面,通过在方法调用前、后或者异常处理时插入自定义逻辑。在EJB3中,我们可以声明拦截器并通过注解来指定它们的执行顺序和作用范围。例如,`@Interceptors`...
- **生命周期管理**:会话Bean的生命周期管理对于资源管理和异常处理至关重要,教程讲解了如何通过配置和编程手段控制这一过程。 - **拦截器与依赖注入**:拦截器用于在方法调用前后执行特定操作,而依赖注入则简化...