yinl_li 发表于 2017-2-1 09:22:37

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.sh 或 tomcat/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.dir和jsf.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
页: [1]
查看完整版本: Using Tomcat 6.0.x with JSF 1.2_x