`

Using Tomcat 6.0.x with JSF 1.2_x

 
阅读更多

在Tomcat6.0.x中构建JSF1.2_x运行环境
(原文:http://www.horstmann.com/corejsf/tomcat-instructions.html)

  • 下载Tomcat 6.0.x, 可由此处下载 http://tomcat.apache.org/download-60.cgi 。将下载所得压缩包解压到任意目录。我们这里假设称其为tomcat。
  • 由此下载JSF1.2_x的最新稳定的发行版本 https://javaserverfaces.dev.java.net/servlets/ProjectDocumentList。将下载所得压缩包解压到任意目录。我们这里假设称其为jsf。
  • 执行脚步 tomcat/bin/startup.shtomcat/bin/startup.bat,启动Tomcat服务器。
  • 当你建立一个web应用时,你必须在该应用中添加目录WEB-INF/lib,并且必须添加四个文件到相应的目录:
    • jsf/lib/jsf-api.jar
    • jsf/lib/jsf-impl.jar
    • tomcat/webapps/你的应用目录/WEB-INF/lib/jstl.jar
    • tomcat/webapps/你的应用目录/WEB-INF/lib/standard.jar
  • 如11页(译注:该文章摘自Core JavaServer Faces)所示,将你的将你的应用编译并打包为WAR文件。 然而,在编译所有使用了JSF API的程序时,都需要将以下文件添加到你的CLASSPATH:
    • tomcat/lib/servlet-api.jar
    • tomcat/lib/jsp-api.jar
    • tomcat/lib/el-api.jar
    • jsf/lib/jsf-api.jar
  • 将上述WAR文件复制到tomcat/webapps/目录
  • 打开你的浏览器,输入如下URL:http://localhost:8080/你的应用名
  • 如果上述路径无法启动,请查看该日志文件 tomcat/logs/localhost.date.log

以下是Tomcat中修改过的build.xml文件和 build.properties 文件。 在运行启动脚步前,你需要正确设置TOMCAT_HOME和JSF_HOME这两个环境变量。(或者,编辑 build.properties然后将 tomcat.dirjsf.dir设置为安装目录。)

<project default="install">

<property environment="env"/>
<property file="build.properties"/>
<property name="appdir" value="${basedir}/${app}"/>
<basename property="appname" file="${appdir}"/>
<property name="builddir" value="${appdir}/build"/>
<property name="warfile" value="${builddir}/${appname}.war"/>
<path id="classpath">
<pathelement location="${servlet.api.jar}"/>
<pathelement location="${jsp.api.jar}"/>
<pathelement location="${el.api.jar}"/>
<pathelement location="${jsf.api.jar}"/>
<fileset dir="${appdir}">
<include name="web/WEB-INF/**/*.jar"/>
</fileset>
</path>

<target name="init">
<fail unless="app" message="Run ant -Dapp=..."/>
</target>

<target name="prepare" depends="init"
description="Create build directory.">
<mkdir dir="${builddir}"/>
<mkdir dir="${builddir}/WEB-INF"/>
<mkdir dir="${builddir}/WEB-INF/classes"/>
<mkdir dir="${builddir}/WEB-INF/lib"/>
</target>

<target name="copy" depends="prepare"
description="Copy files to build directory.">
<copy todir="${builddir}" failonerror="false" verbose="true">
<fileset dir="${appdir}/web"/>
</copy>
<copy todir="${builddir}/WEB-INF/classes"
failonerror="false" verbose="true">
<fileset dir="${appdir}/src/java">
<exclude name="**/*.java"/>
</fileset>
</copy>
<copy todir="${builddir}/WEB-INF/lib">
<fileset dir="${jsf.lib.dir}" includes="${jsf.libs}"/>
<fileset dir="${jstl.lib.dir}" includes="${jstl.libs}"/>
</copy>
<copy todir="${builddir}/WEB-INF" failonerror="false" verbose="true">
<fileset dir="${appdir}">
<include name="lib/**"/>
</fileset>
</copy>
</target>

<target name="compile" depends="copy"
description="Compile source files.">
<javac
srcdir="${appdir}/src/java"
destdir="${builddir}/WEB-INF/classes"
debug="true"
deprecation="true">
<compilerarg value="-Xlint:unchecked"/>
<include name="**/*.java"/>
<classpath refid="classpath"/>
</javac>
</target>

<target name="war" depends="compile"
description="Build WAR file.">
<delete file="${warfile}"/>
<jar jarfile="${warfile}" basedir="${builddir}"/>
</target>

<target name="install" depends="war"
description="Deploy web application.">
<copy file="${warfile}" todir="${deploy.dir}"/>
</target>

<target name="clean" depends="init"
description="Clean everything.">
<delete dir="${builddir}"/>
</target>
</project>
tomcat.dir=${env.TOMCAT_HOME}

jsf.dir=${env.JSF_HOME}

deploy.dir=${tomcat.dir}/webapps

servlet.api.jar=${tomcat.dir}/lib/servlet-api.jar
jsp.api.jar=${tomcat.dir}/lib/jsp-api.jar
el.api.jar=${tomcat.dir}/lib/el-api.jar
jsf.api.jar=${jsf.dir}/lib/jsf-api.jar

jsf.lib.dir=${jsf.dir}/lib
jstl.lib.dir=${tomcat.dir}/webapps/examples/WEB-INF/lib

jsf.libs=jsf-api.jar,jsf-impl.jar
jstl.libs=jstl.jar,standard.jar
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics