技术开发 频道

开发seam 应用 (二)

  【IT168 技术文档】

  本文采用版本:NetBeans IDE 5.5.1, JBoss Seam 2.0.0 beta1,Ant 1.6+

  使用seam-gen生成项目

  在jboss-seam目录下运行seam setup根据提示设定一些项目参数,然后运行seam new-project生成项目骨架

  详细请见:开发 seam 应用 (一)

  新建NetBeans项目

  文件 -> 打开,然后打开刚刚新建立的项目,下面需要做一些设定

  设定项目,修正seam-gen bug

  打开项目我们可以看到源码目录src/下面有三个包 src/action, src/test, src/model,实际上这分别是三个独立的源码目录树,但是seam-gen有bug(看来jboss的确不喜欢netbeans),生成的 netbeans源码路径不正确,netbeans把三个源码目录当成三个包了,我们需要手动修改一下,右键单击项目 -> 属性 -> Java源代码 设定正确的源包文件夹,src/test要设定在测试包文件夹内。

  然后为项目添加lib库,项目属性 -> Java源代码类路径 -> 添加JAR/文件夹,把lib库里的jar全部添加进来,为每一个源包文件夹(src/action, src/test, src/model)都添加同样的lib

  下载facelet插件

  因为seam采用的是facelet而非jsp开发JSF页面(强烈推荐使用facelet),需要下载相关插件使netbeans支持facelet开发,下载 facelet netbeans pluggin 然后安装该插件: 工具 -> 更新中心 -> 手动安装下载的模块

  编译运行

  首先在netbeans里安装Jboss AS服务器,这里采用的是Jboss AS 4.2.1

  方法是进入 运行环境 -> 右键单机 服务器节点 -> 添加服务器

  选择Jboss AS的安装目录,设定好以后打开刚刚添加的jboss AS的属性对话框,在平台 -> VM选项里填入

  -Xms512m -Xmx900m -XX:PermSize=256m -XX:MaxPermSize=512,这是因为ejb3有个潜在的bug,就是短时间内deploy几次后会很有可能出现内存溢出的异常,通过把堆栈内存设大一些可以解决

  因为seam-gen项目采用ant构建项目,所以不能像普通的web项目那样在直接在IDE里右键运行项目。NetBeans相比eclipse方便的 地方就是它能够映射build里的target到项目的构建任务里,就好像操作一个普通项目一样。右键单机项目你可以看到“清理项目,生成项目,部署项 目,测试项目”等等快捷任务,很人性化,也可以自己修改每个任务映射的ant target是什么。而eclipse对于ant项目就不行,右键菜单里的按钮都是定死的。这也是推荐netbeans的另一个原因。

  启动JBoss AS,然后右键单击项目的部署项目,片刻后就可以访问了,开发阶段更改文件重新部署仍然选择“部署项目”

  seam的ant任务会刷新ear的时间戳,强制jboss server重新加载而不用重新启动服务器

0
相关文章