利用Ant构建Getting Started应用

现在准备构建示例Web应用:

这版本的Java Services Developer Pack包含一个Apache Software Foundation(http://www.apache.org)开发的可跨平台移植的生成工具,即Ant。Ant工具的文档可以在index.html文件中找到,其中该文件位于Java WSDP安装目录的<JWSDP_HOME>/jakarta-ant-1.5.1/docs/目录中。

与Java WSDP一起发布的Ant版本设置了该示例生成文件所需的jwsdp.home环境变量。为了保证你使用的是这个版本的Ant,而不是其他的安装,必须在PATH的前面添加<JWSDP_HOME>/jakarta-ant-1.5.1/bin。

本例使用Ant工具来管理Java源代码的编译和部署分层的创建。Ant运行在通常被称作build.xml的生成文件的控制之下,该文件定义了所需的处理步骤。这个文件存储在源代码分层的顶级目录内。

和Makefile一样,build.xml文件提供了若干支持可选择开发活动(例如删除部署主目录以便再从头构建你的项目)的目标。该构建文件所包含的目标用于编译应用程序,在运行服务器上安装应用程序,在运行服务器上重新加载修改过的应用程序,以及删除该应用程序旧的副本以再生其内容。

当使用该示例应用中的build.xml编译源文件时,临时/build目录被创建在根目录之下。这个目录包含Web应用程序二进制分区的正确映像。这个目录在开发时可以根据需要删除和重新创建,所以不要编辑该目录中的文件。

创建Ant的生成文件和部署文件

该示例讨论了怎样使用Ant构建和部署这个示例。第一步是在gs/目录内创建文件build.xml。文件代码如下:

<!-- Setting up the Getting Started example to prepare to 
      build and deploy --> 
<project name="gs-example" default="build" basedir="."> 
  <target name="init"> 
    <tstamp/> 
  </target>
 
<!-- Configure the context PATH for this application --> 
<property name="example" value="GSApp" /> 
<property name="path" value="/${example}"/>
<property name="build" 
value="${jwsdp.home}/docs/tutorial/examples/${example}/build" 
/>
 
<!-- Configure properties to access the Manager application --
> <property name="url" value="http://localhost:8080/manager"/> 
<property file="build.properties"/>
<property file="${user.home}/build.properties"/>
 
<!-- Configure custom Ant tasks for the Manager application -->
 
<path id="classpath">
  <fileset dir="${jwsdp.home}/common/lib"> 
    <include name="*.jar"/>
  </fileset>
</path> 
<taskdef name="install"
      classname="org.apache.catalina.ant.InstallTask" />
<taskdef name="reload" 
      classname="org.apache.catalina.ant.ReloadTask" />
<taskdef name="remove" 
      classname="org.apache.catalina.ant.RemoveTask"/>
 
<target name="prepare" depends="init" description="Create
      build directories.">
  <mkdir dir="${build}" />
  <mkdir dir="${build}/WEB-INF" /> 
  <mkdir dir="${build}/WEB-INF/classes" />
</target>
 
<!-- Executable Targets -->
 
<target name="install" description="Install Web application"
    depends="build">
  <install url="${url}" username="${username}" 
      password="${password}" path="${path}" 
war="file:${build}"/> 
</target>
 
<target name="reload" description="Reload Web application"
      depends="build">
  <reload url="${url}" username="${username}" 
      password="${password}" path="${path}"/>
</target>
 
<target name="remove" description="Remove Web application"> 
<remove url="${url}" username="${username}" 
      password="${password}" path="${path}"/>
</target>
 
<target name="build" depends="prepare" description="Compile
      app Java files and copy HTML and JSP pages" >
  <javac srcdir="src" destdir="${build}/WEB-INF/classes"> 
    <include name="**/*.java" /> 
    <classpath refid="classpath"/> 
  </javac> 
  <copy todir="${build}/WEB-INF"> 
    <fileset dir="web/WEB-INF" >
      <include name="web.xml" />
    </fileset> 
  </copy> 
  <copy todir="${build}"> 
    <fileset dir="web"> 
      <include name="*.html"/> 
      <include name="*.jsp" /> 
      <include name="*.gif" /> 
    </fileset> 
  </copy> 
</target>
 
</project> 

编译源文件

为了编译JavaBean组件,需要使用Ant工具并运行build.xml文件中的build目标。步骤如下:

1.在终端窗口中,如果是在自己创建应用请转到gs/目录,如果是在编译从该教程中下载的示例文件,请转到<JWSDP_HOME>

/docs/turorial/examples/gs/目录。

2.为了构建Java文件输入下列命令:

ant build

该命令编译ConverterBean的源文件。它把结果类的放在<JWSDP_HOME>/docs/tutorial/examples/GSApp/build/Web-INF/classes/converterApp目录内,正如build.xml中build目标指定的一样。它还将Index.jsp文件放置于GSApp/build目录中并将web.xml文件放置于GSApp/build/WEB_INF目录中。Tomcat允许在像这样的已解包目录中部署应用程序。在部署应用程序 一节中讨论了如何部署应用程序。

部署应用程序

在这个Java WSDP版本中,应用程序是使用Ant工具部署的。必须在使用Ant工具安装应用程序前启动Tomcat。关于部署Web应用程序的更多信息,请浏览部署应用程序 一节。

启动Tomcat

为了启动Tomact,在终端窗口下输入下列命令。

<JWSDP_HOME>/bin/startup.sh        (Unix platform) 
<JWSDP_HOME>\bin\startup          (Microsoft Windows) 

这个启动脚本启动了后台任务并立即将用户返回用户命令行提示。启动脚本完全启动Tomcat要花费几分钟时间。




注意:Tomcat的启动脚本要若干分钟才能完成。为了检验Tomcat是否在运行,将浏览器指到http://localhost:8080。若出现Tomcat闪屏,便可以继续。若闪屏没有立即加载,等待若干分钟然后再试。如果若干分钟后,Tomcat闪屏还是没有显示,参考无效的本地服务器localhost:8080错误中的疑难解答技巧。


关于Tomcat文档可在<JWSDP_HOME>/docs/tomcat/index.html中找到

使用Ant安装应用程序

Web应用被定义为标准布局中目录和文件的分层结构。在本例中,分层结构是以解包的形式访问,其中每一个目录和文件分别存在于文件系统中。本节讨论了如何利用创建Ant的生成和部署文件中定义Ant工具部署应用程序。

上下文是被映射到Web应用程序文档根目录中的名字。Getting Started应用的上下文是/GSApp。请求URL http://localhost:8080/GSApp/index.html检索来自文档根目录的文件index.html。为了向Tomcat安装应用程序,需要通知Tomcat新的上下文是可用的。

用来自build.xml文件的Ant install任务把新上下文通知给Tomact。Ant install任务不需要Tomcat重新启动,但Tomcat重新启动后也记不起已安装的应用程序。为了永久部署应用程序,参阅部署Web应用程序一节。

Ant安装任务告诉Tomcat管理器应用程序把该应用安装由在路径属性和包含Web应用程序文件的位置指定的上下文中。阅读安装Web应用程序一节了解关于该过程信息。部署Web应用程序的步骤如下所示。

1.       在终端窗口上,转到gs/目录。

2.       输入下列命令以部署Web应用程序文件。

运行Getting Stared应用程序

为了运行应用程序,需要确定Tomcat正在运行,然后运行来自Web浏览器的JSP页面。

运行Web客户端

为了运行客户端程序,将浏览器指向URL:

http://localhost:8080/GSApp 

这个Java WSDP的版本中,Tomcat要求主机是localhost。所谓localhost是指运行着Tomcat的机器。在该例中,应用程序的上下文是GSApp,它被定义在build.xml文件中。

为测试应用程序,

1.   在"Enter an amount to convert"域内输入100。

2.   点击Submit。

图3-1演示了正在运行的应用程序。

Image of the ConverterBean Web Client.  This image shows the title of the page, and displays a box for the user to enter a value.  When Submit is clicked, this value is translated to Yen and Euro and the resulting value is displayed on the screen.

图 3-1  ConverterBean Web客户端

关闭Tomcat

完成了应用程序的测试和部署后,就应该关闭Tomcat。

<JWSDP_HOME>/bin/shutdown.sh        (Unix platform) 
<JWSDP_HOME>\bin\shutdown           (Microsoft Windows) 
 
<JWSDP_HOME>/bin/shutdown.sh        (Unix platform) 
<JWSDP_HOME>\bin\shutdown           (Microsoft Windows)

 

 

常见问答

下载中心

产品简介

 

 

Solaris论坛