由于某些原因,需要如此,直接上操作叭
首先,影响及升级内容
Apache Struts2框架及相关jar包升级为最新的2.5.22版本
JDK版本由1.6升级至1.8,以匹配Apache Struts2 2.5.22版本
Spring由3.0升级到4.3.25
Hibernate由3.0升级到4.0.5
升级数据库驱动到ojdbc6-11.2.0.4
json-lib不支持JDK1.8改为引用fast-json组件
JMesa组件不支持Common类新版本的包,重写JMesa组件包
升级其它第三方依赖包,以匹配升级后的SSH版本
因升级后的Hibernate连接工厂类为不支持Cglib的final类型,将Spring AOP代理方式由指定Cglib改为JDK方式
实战开始,
首先建一个普通的项目转换为mavne,并且还要升级到jdk1.8,我的做法是新建一个项目,然后把原本的项目中java文件和resources中的配置文件等直接copy过来。
接下来记得勾选Add Maven support,上边的哪些可选的看自己的需求,
next
继续next
继续next
这里选择standard Maven JEE project stucture,继续next
选择Maven Dependencies,接着可以直接finish了
项目建好后一些maven相关的配置这里就不展开了。主要还是升级相关的注意事项吧。以下内容如果不涉及请忽略
首先
将import org.springframework.orm.hibernate3.HibernateCallback;
都改为
import org.springframework.orm.hibernate4.HibernateCallback;
不涉及的忽略。然后所有的获取session方法都要改为
Session session = this.getSessionFactory().getCurrentSession();
还有像是下边这种形式的也改成上述执行方式
return getHibernateTemplate().execute(new HibernateCallback() {
@Override
public Object doInHibernate(Session session) throws HibernateException, SQLException {
//do something
return result.size() > 0 ? result.get(0) : null;
}
});
next
import org.apache.commons.lang.builder.*
需要改为
import org.apache.commons.lang3.builder.*
3.
org.springframework.orm.hibernate4.LocalSessionFactoryBean
改为
org.springframework.orm.hibernate4.LocalSessionFactoryBean
4
web.xml中
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
改为
org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
5
所有得hibernate3改为hibernate4
6
spring*.xml中
*-2.5.xsd
改为
*-4.0.xsd
7
删除 dependency-check="none"