[JSF2.0学习笔记之二]eclipse3.7.1+jbosstools3.3环境搭建(4.0.0.Final的richfaces-showcase成功运行,同时纪念m2e/m2e-wtp安装史)

时间:2023-01-25 11:06:44

缘由:

前一篇文章好不容易搭建了eclipse3.6.2和jbosstool3.2的环境之后,本来想进行richfaces4的学习,可是被一些事情(主要是开题报告)给耽搁了,所以很久没有更新。最近想抽空学习richfaces4.0自带的examples,仔细看了官方的手册Developer Guide,官方给出了两种构建项目的方式:

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以上)

我出的问题在哪里呢,让我慢慢道来..... [JSF2.0学习笔记之二]eclipse3.7.1+jbosstools3.3环境搭建(4.0.0.Final的richfaces-showcase成功运行,同时纪念m2e/m2e-wtp安装史)

首先,未编译过的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”?[JSF2.0学习笔记之二]eclipse3.7.1+jbosstools3.3环境搭建(4.0.0.Final的richfaces-showcase成功运行,同时纪念m2e/m2e-wtp安装史)

(看过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版本吧![JSF2.0学习笔记之二]eclipse3.7.1+jbosstools3.3环境搭建(4.0.0.Final的richfaces-showcase成功运行,同时纪念m2e/m2e-wtp安装史)

附一张效果图:

[JSF2.0学习笔记之二]eclipse3.7.1+jbosstools3.3环境搭建(4.0.0.Final的richfaces-showcase成功运行,同时纪念m2e/m2e-wtp安装史)

(只有被eclipse识别出来了工程的样子才会是这样,不然就是一大堆的文件,你懂的)

结语:

本文可能没有什么对richfaces学习的实质性进展,也没有关于JSF2.0知识的学习,主要还是在环境搭建上纠结....但是还是希望能对大家有所帮助。^-^

这里给出上一篇文章的链接:http://blog.csdn.net/cherayliu/article/details/6756045 ,主要便于大家寻找重要的官方链接。