TOMCAT项目转成JBOSS项目的方法步骤。
本文探讨均在ECLIPSE 3.6环境下
方式一.(推荐方式) 新建JBOSS项目
1 新建WAR项目 |
重要是要选择RUNTIME,指向JBOSS RUNTIME,这样会把JBOSS下的类库引入buildpath,作为reference |
2 将TOMCAT 项目的所有内容COPY到新项目中 |
-src下的包,类,properties文件,xml 文件等 -webroot下的目录,html,jsp文件 -WEB-INF/下的lib目录内的jar包 -web.xml文件 |
3 |
比如:
xercesImpl.jar xml-apis.jar |
4 |
如果WEB-INF/lib下含有servlet-api.jar,这通常是TOMCAT的, 这个必须删除,然后系统的JBOSS RUNTIME下的servlet-api.jar就会起作用 |
5 JBOSS对SPRING的支持 |
WEB-INF/lib库下加入snowdrop-vfs.jar web.xml,加入如下语句,就是替换contextClass: |
方式二.直接TOMCAT项目上修改,(不推荐,ECLIPSE支持的不好,经常出莫名其妙的问题)
1 |
|
2 |
|
3 |
这步经常有问题,ECLIPSE BUILDPATH 操作经常有一些小BUG |
4 |
|
方式三.采用JBOSS TOOLS
这种采用外部工具的做法增加了中间环节, 优点是操作简单些,很多步骤对用户透明, 缺点是做不到底层操作, 我个人不太推荐
方式四. 方式二的变种,同样是直接TOMCAT项目上修改
用于解决方式二中, 改变了JBOSSRUNTIME后, 却仍报有关servlet-api.jar异常,如:cannot be cast to javax.servlet.http.HttpServletRequest
其他步骤不变 |
特殊的步骤: WEB-INF/lib 目录下删除servlet-api.jar 此时删完后,ECLIPSE项目上会有”!”,表示buildpath出错(有一个reference的指向不再存在),这时不要管它,继续保持这个错误不变. 这样在部署后,这个本来错误的buildpath reference(在Eclipse workspace环境里是错误的),在JBOSS部署环境下,实际是有效的,被指向了JBOSS的servlet-api.jar. |