用myeclipse部署jboss的jsf应用时,总是部署不成功。首先是发现web.xml中有一个<rescource context/>,原来在tomcat里配置jndi连接池时用的,现在现在好像要删掉这个标记。然后发现web-inf里的lib文件夹也有问题。上网查一查,原来是包冲突的原因,原来我的lib里有一些j2ee的包例如jsf-api.jar等等,发现这个会引起一个错误,于是把它们删掉,又发现跟hibernate有关的包中有两个是冲突的,于是又把它们删掉。这样就好了,算是暂时部署成功了。可是总觉得不爽,觉得有点莫名其妙,于是开始鼓捣起来。
我们在用myeclipse添加jar的时候有几种办法,一个是add external jars,就是添加在你的计算机里的外部jars,或是add libraries就是添加myeclipse里自带的jars,这样的话比较规范,不容易漏掉一些包,但会增加进一些不必要的包,正是一些不必要的包才使我部署失败。这些jars不会复制到你workspace里面的lib中,大概是ide帮你链接了。其实也对,因为在workspace中的文件又不是真正运行的文件,主要是你的编写代码的环境,所以只要ide能访问到那些类库就行了。
然而在真正部署时,也就是真正要运行在服务器里的文件时,必须保证服务器可以访问那些jars,于是myeclipse会把有关的jars复制到服务器中工程的lib中,而且myeclipse会检查一些包的兼容性,比如我的jsf-api.jar就不会被复制到,因为jboss有这个库。(但是貌似netbeans会把jars复制到tomcat的默认lib中,而tomcat的webapp不会添加文件进去,各个ide处理方式不同)。
我在部署时,为了使用hibernate,就先把myeclipse自带的hibernate相关包复制到我的工程lib中,新建文件夹为hibernate3.0core,把包放进去。然后删掉里面的两个冲突文件(这个myeclipse没有检测到冲突)。再看看你的build-path中是否有关于hibernate的libraries,有就remove,再add external jars把刚才的那些jars添进去就行了。这个时候再部署,就成功了。
注:好像myeclipse会把workspace中的lib下的文件统统拷进服务器里,也不检查是否冲突。
一个问题:build-path中的jre的lib服务器是怎么访问的,是访问的计算机里的安装的jre的lib吗?
分享到:
相关推荐
如何在MyEclipse配置Jboss
NULL 博文链接:https://blueprint86.iteye.com/blog/998660
MyEclipse+JBoss开发部署jsp和servlet入门的源码
MyEclipse+JBoss开发EJB.doc
详细介绍MyEclipse下开发JSF
MyEclipse2014搭建JSF项目实例,已成功在本地运行,压缩文件中有文档和截图,供入门参考
MyEclipse+JBoss配置说明:1. 请从获取VSS插件 路径为:CPF-1_new/cpf-maintain/中油境外/doc/工程配置说明/ org.vssplugin_1.6.1.zip
JBoss安装配置Myeclipse10图文详解
在MyEclipse下做的一个例子,大家互相学习。
MyEclipse_JSF_快速入门中文版 MyEclipse_JSF_快速入门中文版
Myeclipse中配置 jboss 图解,详解
myeclipse+jboss5+shh 搭建框架
myEclipse+Jboss+mysql+EJB
web项目MyEclipse里部署时找不到,解决方案~!
在这个教程中我们将使用MyEclipse Enterprise Workbench来开发一个小小的 JSF 示例程序. 不需要您对关于JSF 和 MyEclipse的相关知识有所了解, 不过如果有所了解的话会更好.
myeclipse 远程调试jboss as7或者jboss eap6,包括windows运行环境和linux运行环境分别介绍,同时jboss as7和jboss eap6的配置也有所不同。
教你怎么使用MyEclipse部署Java项目,war格式,部署后无源代码
MyEclipse如何开发JSF[汇编].pdf