jboss6jsf2 richface

JSF2.0入门:

网上搜了搜,发现JSF的学习资料很少,尤其是最新出的JSF2.0标准已经出了,资料更少,更别提视频的。既然是自学,当然要学最新的咯,无意中发现一个网友(好像叫刘成)自己录的爆笑JSF2.0讲解视频,有兴趣的可以看一看:http://www.cnblogs.com/lyglcheng/archive/2010/04/23/1718394.html

JSF框架选择:

现在有很多很多的JSF框架供我们选择:ICEFaces、RichFaces、PrimeFaces等等,我找了个对比图http://blog.chinaunix.net/link.php?url=http://www.jsfmatrix.net%2F , 大家可以直接通过这个页面看它们的实现Demo、showcase,很方便,这里记下来也方便我以后找。网上讨论最多的是ICEFaces vs RichFaces,我看了之后个人比较中意RichFaces的风格,而且主要因为它是免费的。ICEFaces只有收费版功能才全,但网上的推荐都是 说如果能付钱,最好用ICEFaces,它的功能比较强大。正好,RichFaces 4.0刚推出,支持JSF2.0,那我就更是义无反顾了。

RichFaces入门:

毫无疑问,新技术只能到其官网去学:http://www.jboss.org/richfaces 找到了Document中的4.0 Developer Guide,就开始看了:http://www.jboss.org/richfaces/docs/4-0_guide

Jbosstools插件安装:

其他废话我也不多说了,它推荐的create JSF2 project方式是安装一个叫做Jbosstools的工具。Jbosstools是一个eclipse插件,据说功能强大。本人一直使用 MyEclipse习惯了(我现在的版本是8.5),想用这个搭建来着,但是该死的Software Center总是更新不了插件,下了一个多小时最后还是失败,原因不明。当初我装svn的时候也是不成功,还是手动link方式安装的,于是干脆放弃 MyEclipse,转向Eclipse。(到现在我也找不到原因,可能是我的MyEclipse的原因,大家可以自己试试,我找了个Software Center的安装插件方法,估计很多人习惯了原来的software update方法,不知道这个怎么用,这里给个链接:http://hi.baidu.com/kittopang/blog/item/5427bcef5eceadc4b21cb100.html

需要特别注意的是,Eclipse和Jbosstools的版本一定要对上:http://www.jboss.org/tools/download.html 里面有stable、milestone、nightly三种版本。本人不太清楚到底有什么区别,我选择的是stable版本(JBoss Tools 3.2 :: Eclipse 3.6.2 )至于eclipse 3.6.2 helios 建议一定要到官网http://www.eclipse.org/downloads/ 上下载,记得要Eclipse IDE for Java EE Developers 版本(RichFaces Guide要求的,忘了在哪里说的了),两个版本对不上好像会出问题,主要是速度问题。

Eclipse安装插件大家都很熟悉了,在线离线都行,建议先离线用迅雷下下来,那样安装起来很快,本人在安装的时候慢的不行,卡的根本进行不下去,原来是eclipse在安装插件的时候会偷偷去搜索很多网站的更新,导致慢的不行,这里给个个安装指南:http://blog.csdn.net/remote_roamer/article/details/5343939 ,根据我自己的经验,这里简单概括4点注意事项:

1、将第三个复选框“contact all...site” 勾选去掉,免去不必要的搜索(这个超级浪费时间)

2、选择插件时先将第二个复选框勾上,千万不要全选,否则会重复选择插件,即使它们已经被被分为不同的类别了

       (官方网站的安装文档上有说明,链接一时半会找不到了,大家自己找找)

3、选好插件后再去掉第二个复选框(莫名其妙会因为这个卡住)

4、在配置插件网站site或Achive的work一栏右下角有个“Available Software Site”,打开,把除了相关的site或Achive的链接勾选统统去掉

好了,你可以点击下一步了。

本人在安装的时候有个错误提示:Smook Tools如何如何,由于我用不到这个,我就勾掉了重新next ,就成功了。之后就是接受协议并且安装了,速度绝对没的说。

JBoss AS 6安装:

可能有的朋友会奇怪:我的Eclipse3.6.2 helio怎么只支持到Jboss5?

读过Richfaces4.0 Developer Guide 就知道,环境需求很高,Server最低需要JBoss AS 6 或Apache Tomcat 6.0才能跑。

无须担心,Jbosstools里面有个Jboss AS Tools 插件,安装时把它选中就行了,可以单独安装,重启就能看到了。

装好之后按照我们的习惯回去找server.xml去改8080的端口,我的8080已经被oracle用了,所以必须改。但是需要注意的是,JBoss AS 6的所有可配置数值都已经被${xxx.xxx.xxx}代替了,实则在其他文件里。其实有个地方就能改,就是show view里面server视图,细心的你可以发现JBoss AS 6 下面有个XML Configuration,找到8080 右键 change value 回车就OK了。

创建JSF2.0项目:

按照Richfaces4.0 Developer Guide指示,File—New—Project—JBoss Tools Web—JSF project 就可以开始创建了,输入项目名称,选择JSF2.0,配好应用服务器JBoss AS 6,就可以创建了(创建过程可能会有些慢,请耐心等待,会柳暗花明的)

然后启动服务器就可以运行啦!!吐舌头

特别说明:工作空间workspace的路径中不得含有空格,否则JBoss AS 6 会报错!

1、安装jbosstools后直接新建JSF2.0项目

2、使用maven构建项目

仔细看了examples中自带的readme就知道examples下的richfaces-showcase是用Maven构建的,必须使用 maven编译,所以如果我想跑richfaces-showcase就必须选择第二种。虽然不懂maven,也只能硬着头皮上了。(maven是个好东 西,已经出了maven3了,正在学习当中)

搭建maven3:

过程就不说了,其实很简单,找个教程一步步跟着做,环境配好后按照官方给出的构建richfaces 4的方法在命令行里创建项目就行了,然后它就会自动给你下一堆的依赖包,全部丢在m2/repository文件夹里,当然此前需要配置conf文件夹下 的settings.xml,简而言之,一切根据richfaces4的Developer Guide来。

在eclipse中导入richfaces-showcase(已在安装好jbosstools):

过程中遇到一堆问题,所以必须先声明一下:

如果不使用eclipse IDE,直接解压 richfaces4.0,按照examples中自带的readme使用mvn clean package编译之后,将target中的war文件手动部署到你的tomcat安装目录下的webapps下面然后启动tomcat的 话,richfaces-showcase是可以完美运行的!

(我使用tomcat,等项目能够稳定开发在转向jboss,强调一下必须tomcat-6或jboss-AS-6以上)

我出的问题在哪里呢,让我慢慢道来..... 大哭

首先,未编译过的richfaces-showcase使用maven插件导入项目是识别不了的(有时候可能可以),进入richfaces- showcase使用mvn clean package编译项目之后再导入就可以识别了。将richfaces-showcase导入eclipse之后各种报错,配置好tomcat 6之后想部署,发现识别不了项目,使用了mvn eclipse:eclipse才能顺利部署。(上述几个命令来回倒腾,我认为做的不是很正确,但是目前e3.6.2+j3.2的环境已经删掉了,就不详 细叙述了,具体怎么部署上的记不清了)我想说的是 ,其实在报错的情况下,有时候是可以在eclipse环境中用tomcat 6或者 Jbosstools-AS-6部署上,但问题在于许多richfaces的重要组件是显示不出来的,正确的说除了html和css全部显示不出来。

所以开始怀疑当初的jbosstools-3.2自带maven插件没有装好,虽然jbosstools3.2中已经带有maven的支持,但是我 不清楚是否支持wtp(当初搭建环境的时候只瞅着jbosstools3.2中关于JSF和Richfaces的支持了,根本没管Maven)

查过一些资料发现要想在纯eclipse中(不带jbosstools)中开发maven项目必须装m2e(clipse)插件,除此之外我需要的 是web项目又必须安装m2e-wtp插件,注意:安装m2e是安装m2e-wtp的前提。于是下载最新的Indigo 3.7.1想尝试纯m2e和m2e-wtp的安装。

研究重点

如何让eclipse识别并成功部署richfaces-showcase或“new_project”?大哭

(看过Developer Guide的话应该知道我说的是啥)

下载最新的eclipse Indigo 3.7.1:

此步骤省略。

m2e/m2e-wtp的安装:

稍微一查资料大家都知道,m2e项目已经从原来的网站向eclipse搬家,现在最新的m2e-wtp0.14已经被导入到eclipse的 marketplace了(marketplace自Indigo才有,Helio是没有的,这又涉及到了marketplace),所以我下了个 Indigo SR1,也就是3.7.1,网上推荐的安装方法大家绝对找得到,就是在help->eclipse marketplace中以“maven”为关键字进行搜索,查到Maven Integration for EclipseMaven Integration for Eclipse WTP 然后点击Install进行安装。本人经过了各种尝试,宣告安装失败。

m2e/m2e-wtp的安装失败原因分析:

先不说进度条走的多慢,这个大家早都习惯了。我耐心地等它走完约1~2个小时,给我抛错说安装失败,连接不到****网站。我在想可能是因为我是教 育网,网速太慢。然后我发了个包给我远程的一个朋友叫他帮我装这个插件然后再打包发回来(我是远程控制的,甚至给他下了个jdk 7,所以过程没有问题),找他是因为他是宽带,网速平均在110kB/s以上。结果是等了1个半小时后在相同的地方抛错了,于是放弃了。所以我的结论是: 中国用户在marketplace上安装插件不可能。(连刷个marketplace列表有时候都刷不出来,不知道是不是eclipse marketplace服务器的问题了,访问其他国际网都很顺利,下最新eclipse也很快的说,唯独这个marketplace不给力)

思路转换安装jbosstools:

由于上一篇文章的环境搭建,装好jbosstools就可以直接导入maven项目了,这是因为jbosstools自己带有 maven support,当初安装过的已经被我删掉了,所以也无法求证是否安装wtp成功,因为在import选项里出现了maven,可以导入 existing project。但是我认为是有问题的,这是因为:

1、各种项目识别不了;

2、在windows preference中竟然没有单独的maven选项(网上成功安装的例子都有的);

3、右键工程->run as中没有使用mvn clean等方法。

现在已经有jbosstools3.3 for eclipse3.7.1了,不过是jbosstools3.3的milestone里程碑版,不是stable版,但是我还是希望尝试一下。

安装jbosstools3.3:

1、离线安装:安装这个大家要注意了,我为了能够多次尝试所以下载了它的离线安装包jbosstools-3.3.0.M4.aggregate- Update-2011-11-04_12-20-02-H39.zip,但是它却提示我已经安装了maven这插件那插件叫我不要安,我晕,我就是为了 maven support才安装jbosstools3.3你叫我不要安装这不是坑爹嘛。所以放弃,选择在线安装。

2、在线安装:安装这个大家更要注意了,有两种方法,一个是将JBoss Tools -Core 3.3.0.M4 :: Eclipse 3.7.1 上的Install图形按钮拖到你的workspace(我的话需要打开install new software的界面才行);一个是按传统方法复制JBoss Tools -Core 3.3.0.M4 :: Eclipse 3.7.1 的链接地址http://download.jboss.org/jbosstools/updates/development/indigo/然后pending安装(第一次要pend很久,耐心等,我就是因为不耐心所以以为安装不了才折腾了这么久)

第一种方法总结:坑爹。因为它自动从marketplace给你找,marketplace根据我的上述内容就是坑爹。

第二种方法总结:成功。 使用在线安装地址 http://download.jboss.org/jbosstools/updates/development/indigo/ 安装,耐心等待一定能见到光明。我选择的是全部安装,没有报任何错误。(ubuntu10.04试验过了也可以,其实就是从这上面用该法成功安装才继续在 windows尝试的)

重启eclispse:

根据提示重启eclipse后可以看到Jboss Central的一个导向界面,恭喜你安装成功!你可以从中直接创建一个maven工程。在 install new software的already Installed中可以看到该装的都列出来了查看 JBoss Maven Integration那一项打开子目录可以发现两项:1、m2e-Maven Integration for Eclipse;2、Maven Integration for WTP;

此外在windows preference中也出现了Maven菜单,import菜单中也有,说明maven的支持已经添加了。

导入richfaces-showcase:

我的版本是richfaces-4.0.0.Final.zip(readme要求maven2.0.2以上),在原先的环境中出现各种pom错误 无法解决。在这次搭建的新环境中控制台mvn clean package后导入时只发现一个错误:maven-checkstyle- plugin:2.5:check ,下面提示No marketplace entries found to handle maven-checkstyle-plugin:2.5:check in Eclipse. 这个在导入的时候忽略就可以了,在Resolve Later改为Do Not Execute (add to pom)就行了。完成后如果它提示无法载入faces***的不用管他,删了重新导入就可以了,出现一堆绿色进度条跑完了就成功识别了。

直接部署到tomcat,启动,运行成功!不再像以前一样只有html和css,这次所有的导航栏都显示出来了,并且都可以使用!此外new_project也导入成功了!

一开始以为pom.xml与maven 3不兼容所以下了个richfaces-4.1.0.RC2.zip(readme要求maven3.0.3以上),mvn clean package之后出现了一大堆问题,这里先不费精力在这个上面了,先使用Final版本吧!大笑

附一张效果图:

(只有被eclipse识别出来了工程的样子才会是这样

猜你喜欢

转载自ssydxa219.iteye.com/blog/1766607
jsf