5. 关于hibernate
使用seam create-project创建了项目之后,默认是按照EntityManage来进行数据库操作。通过修改component.xml,可以让你同时使用entityManage和hibernate session。操作如下:
在component.xml中,增加以下内容:
- <factory name="session" scope="STATELESS" auto-create="true"
- value="#{entityManager.delegate}" />
这样你就可以在java中:
- @In Session session;
@In Session session;
6. 调试
安装了jboss tools后,在eclipse中增加jboss 4.2 Server的视图,在其中以Debug方式启动jboss, 在java代码中设置断点,这样就可以进行调试了。
第一次调试,会出现一个源代码找个到的提示,也就是说eclipse调试时找不到代码,此时点击指定路径,在接下来的几个窗口中,将你的工程选中即可。
1. 下载基础环境:
eclipse 3.4.2
JDK6: http://java.sun.com
Jboss AS 4.2.3GA: http://sourceforge.net/project/showfiles.php?group_id=22866&package_id=16942&release_id=614346
Seam 2.1.1GA:https://sourceforge.net/project/showfiles.php?group_id=22866&package_id=163777&release_id=647861
Ant: http://apache.etoak.com/ant/binaries/apache-ant-1.7.1-bin.zip
jboss tools 3.0GA 自己搜
2. 安装
安装JDK6
设置JAVA_HOME
解压缩Jboss AS
解压缩Seam
修改Seam/build.properties
增加
- jboss.home D:/jboss-4.2.3.GA
注,应该设置成你jboss解压后的文件夹位置
安装Ant, 设置ANT_HOME指向ant文件夹,将
将eclipse改为UTF-8方式: 点击windows ->prefrence , 在弹出的窗口左边,选择general, workspace, 在右边的Text file encoding中选择UTF-8
3. 使用Seam
进入 命令行,到Seam文件夹
运行:seam setup
该命令进行seam的相关设置,要注意的是:
1. 选择WAR而不是EAR, 因为EAR不支持热部署,对于学习阶段,每次重启代价太高。
设置完成后,运行 seam create-project 创建一个项目。
4. 热部署
热部署可以提高效率,特别是学习阶段。为了支持热部署,进行如下操作:
1. 先要完整地部署一次,以文件夹方式进行部署。以后每次保存自动热部署。操作如下:
在eclipse中,在项目的build.xml上点右键,选择Run as, 选择ant build..., 在弹出的窗口中,选择explode,explode就是以文件夹方向部署。
2. 修改build.xml,在文件最后部分,project之前,增加以下内容:
- <target name="hotexplode" depends="war" description="for hot explode">
- <copy todir="${war.deploy.dir}">
- <fileset dir="${war.dir}">
- <exclude name="**/web.xml"/>
- </fileset>
- </copy>
- </target>
注:将代码中的【】改为大括号
3. eclipse中,在项目上点右键,选择properties, 选择builders, 选择右边的explode, 点击edit... 在弹出的窗口中,点击Targets, 修改Auto Build为:hotexplode
经过这些修改,每当eclipse保存时,会自动进行热部署。一定要记得热部署是在完全部署的基础上进行的,因此一定要先进行第一步完整地以文件夹方式进行部署。
4. 注意,热部署只支持Seam action, 各种页面文件,不支持Entity Bean , components.xml等相关的配置文件。