一、安装嵌入式JBoss
要在Tomcat上正确运行Seam运行程序,必须安装嵌入式JBoss到Tomcat。嵌入式JBoss与JDK 5 或JDK 6一起运行 。嵌入式JBoss可以在[http://sourceforge.net/project/showfiles.php?group_id=22866&package_id=228977]下载。安装嵌入式JBoss到Tomcat6的过程相当简单。首先,你应该拷贝嵌入式JBoss 的JAR文件和配置文件到Tomcat。
将嵌入式JBoss的 bootstrap 和lib目录下的所有文件和目录,除jndi.properties 文件之外,都拷贝到Tomcat的lib目录下。
从Tomcat lib目录删除annotations-api.jar 文件。
接下来,两个配置文件需要被更新,以增加嵌入式JBoss的特殊功能。
增加嵌入式JBoss侦听器EmbeddedJBossBootstrapListener到 conf/server.xml。它必须出现在该文件中所有其他侦听器的后面 :
<Server port="8005" shutdown="SHUTDOWN">
<!--APR library loader. Documentation at /docs/apr.html -->
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
<Listener className="org.apache.catalina.core.JasperListener" />
<!-- JMX Support for the Tomcat server. Documentation at /docs/non-existent.html -->
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<!-- Add this listener -->
<Listener className="org.jboss.embedded.tomcat.EmbeddedJBossBootstrapListener" />
..........................................
增加WebinfScanner 侦听器到conf/context.xml ,将会激活WAR文件扫描:
<Context>
<!-- Default set of monitored resources -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<!-- Uncomment this to disable session persistence across Tomcat restarts -->
<!--
<Manager pathname="" />
-->
<!-- Uncomment this to enable Comet connection tacking (provides events
on session expiration as well as webapp lifecycle) -->
<!--
<Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
-->
<!-- Add this listener -->
<Listener className="org.jboss.embedded.tomcat.WebinfScanner" />
</Context>
如果你正使用Sun JDK 6,你需要使用Catalina启动脚本在JAVA_OPTS环境变量中设置Java选项sun.lang.ClassLoader.allowArraySyntax为true (在Windows中为catalina.bat,在Unix 中为catalina.sh)。
用你的操作系统上的适当文本编辑器打开脚本文件。 在文件顶部的注释行下直接增加一个新行,定义JAVA_OPTS 环境变量。在Windows中,使用下面语法:
set JAVA_OPTS=%JAVA_OPTS% -Dsun.lang.ClassLoader.allowArraySyntax=true
在Unix中,使用下面语法:
JAVA_OPTS="$JAVA_OPTS -Dsun.lang.ClassLoader.allowArraySyntax=true"
关于更多的配置选择,请参看嵌入式JBoss Tomcat集成 wiki entry。
二、打包
在如Tomcat类的servlet引擎中,一个基于WAR的部署档案结构,看起来象这样:
my-application.war/
META-INF/
MANIFEST.MF
WEB-INF/
web.xml
components.xml
faces-config.xml
lib/
jboss-seam.jar
jboss-seam-ui.jar
jboss-el.jar
jsf-facelets.jar
jsf-api.jar
jsf-impl.jar
...
my-application.jar/
META-INF/
MANIFEST.MF
persistence.xml
seam.properties
org/
jboss/
myapplication/
User.class
Login.class
LoginBean.class
Register.class
RegisterBean.class
...
login.jsp
register.jsp
...
通过运行ant tomcat.deploy ,大多数Seam例子应用程序可以部署到Tomcat。
三、打包并布署Seam registration example 到tomcat
我使用的Seam版本为jboss-seam-2.1.1.GA,进入到Seam安装目录,如F:/SeamDev/jboss-seam-2.1.1.GA,修改build.properties文件,在文件最后追加一行,tomcat.home=F:/SeamDev/embed-jboss-tomcat-6.0.18
打开一个DOS命令行窗口,进入到Seam registration example目录,如F:/SeamDev/jboss-seam-2.1.1.GA/examples/registration,执行ant tomcat.deploy
四、启动tomcat,打开一个浏览器窗口,输入http://localhost:8080/jboss-seam-registration即可。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xunyiren/archive/2009/07/16/4353491.aspx