直接使用MyEclipse进行S2SH整合冲突问题

先写出今天发现的问题,后续也许还加入,作为整合问题解决的参考。(MyEclipse 10.0)

1.直接使用MyEclipse加入Struts2.1和Hibernate3.3支持,Struts 2 Core Libraries中antlr-2.7.2.jar和Hibernate 3.3 Core Libraries中antlr-2.7.6.jar会产生冲突(其余所有jar包均不会产生冲突,实际测试后结果),结果可能导致提交action之后卡死无响应或出现关于antlr的错误。

解决方案:使用尽量精简的User Libraries(自定义的类库),避免冲突。(视频附带资料或者网上有很多整合好的包)

2.使用Hibernate 3.3 Core Libraries及Hibernate 3.3 Annotation,Spring 2.5 Core Libraries、Spring 2.5 AOP Libraries、Spring 2.5 Persistence Core Libraries及Spring 2.5 Persistence JDBC Libraries,加入无冲突的Struts2的库。在Action未经交由Spring管理,三者不产生冲突,WebApp正常启动前提下,加入struts2-spring-plugin-2.x.x.jar,并加入相应配置将Action交由Spring管理之后,引发冲突,错误如下:

Error configuring application listener of class org.springframework.web.context.ContextLoaderListener
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

解决方案:只能使用自行配置的S2SH类库包,暂时没有找到好的方法来协调自定义类库和MyEclipse类库不发生冲突。

附:Exception starting filter struts2 java.lang.NullPointerException可能问题之一:据网上说是struts2.1.6存在的bug,引发原因就是Tomcat路径中存在空格且开启了struts.devMode=true,当struts.devMode设为false或Tomcat路径中没有空格时,该种错误将被消除。

你可能感兴趣的:(MyEclipse)