Posted on 2005-11-25 08:54
Kela 阅读(1107)
评论(1) 编辑 收藏
web 应用常见的开发目录结构
app.home
+ -- build --存放由ant工具生成的web应用的开放目录结构
+ -- deploy --存放由ant工具生成的web应用的 war 文件
+ -- doc --存放由ant工具生成的JavaDoc文件
+ -- lib --存放所有的 jar 文件
+ -- bin --存放编译生成的 java 类( . class )文件
+ -- src --存放 java 源文件和属性文件
+ -- webRoot -- 存放 web 应用的 jsp ,html,图片等
|
+ -- WEB-INF --存放 web.xml 以及其他的配置文件(如 Struts的 cfg等)
创建 build.xml 配置文件
build.properties : 存放与 web 服务器相关的属性
build.xml : ant 任务的配置文件
以下是 build.properties
tomcat.home=D\:/JavaSoft/tomcat5
webapps.home=D\:/JavaSoft/tomcat5/webapps
以下是 build.xml
<?xml version="1.0" encoding="GB2312"?>
<project name="JeeProjece" default="help" basedir=".">
<property file="build.properties" />
<property name="app.home" value="."/>
<property name="app.name" value="HibernateProject"/>
<property name="javadoc.pkg.top" value="com"/>
<property name="src.home" value="${app.home}/src"/>
<property name="bin.home" value="${app.home}/bin"/>
<property name="lib.home" value="${app.home}/lib"/>
<property name="web.home" value="${app.home}/web"/>
<property name="doc.home" value="${app.home}/doc"/>
<property name="deploy.home" value="${app.home}/deploy"/>
<property name="build.home" value="${app.home}/build"/>
<!-- ClassPath -->
<path id="compile.classpath">
<!-- application is jar -->
<fileset dir="${lib.home}">
<include name="*.jar"/>
<include name="*.zip"/>
</fileset>
<!-- Tomcat -->
<fileset dir="${tomcat.home}/common/lib">
<include name="*.jar"/>
</fileset>
<pathelement location="${tomcat.home}/common/classes"/>
</path>
<!-- help -->
<target name="help">
<echo message=" ********** 说 明 ********** "/>
<echo message=" (1). clean-file-1 : 删除 doc, deploy, build "/>
<echo message=" (2). clean-file-2 : 删除 ... ... "/>
<echo message=" (3). buildFile: 构建工程文件 "/>
<echo message=" (4). compile: 编译源文件 "/>
<echo message=" (5). build: 工程构建 "/>
<echo message=" (6). deploy: 发布打包好的war文件"/>
<echo message=" (7). javadoc: 生成JavaDoc"/>
<echo message=" (8). copyApp: 复制生成的应用到服务器中去,依赖于 (5) 工程构建 "></echo>
</target>
<!-- clean doc, depoy, build -->
<target name="clean-file-1">
<delete dir="${deploy.home}"/>
<delete dir="${doc.home}"/>
<delete dir="${build.home}"/>
</target>
<!-- clean all -->
<target name="clean-file-2">
</target>
<!-- 创建文件 -->
<target name="buildFile">
<mkdir dir="${bin.home}"/>
<mkdir dir="${deploy.home}"/>
<mkdir dir="${doc.home}"/>
<mkdir dir="${doc.home}/api"/>
<mkdir dir="${build.home}"/>
<mkdir dir="${build.home}/WEB-INF" />
<mkdir dir="${build.home}/WEB-INF/classes" />
<mkdir dir="${build.home}/WEB-INF/lib" />
</target>
<!-- 编译源文件 -->
<target name="compile">
<javac srcdir="${src.home}" destdir="${bin.home}" debug="yes">
<classpath refid="compile.classpath"/>
</javac>
</target>
<!-- 构建 -->
<target name="build">
<echo message=" 开始构建工程 "/>
<copy todir="${build.home}">
<fileset dir="${web.home}"/>
</copy>
<copy todir="${build.home}/WEB-INF/classes">
<fileset dir="${bin.home}"/>
</copy>
<copy todir="${build.home}/WEB-INF/classes">
<fileset dir="${src.home}">
<include name="**/*.properties" />
<include name="**/*.prop" />
<include name="**/*.class" />
</fileset>
</copy>
<copy todir="${build.home}/WEB-INF/lib">
<fileset dir="${lib.home}" />
</copy>
<jar jarfile="${deploy.home}/${app.name}.war" basedir="${build.home}"/>
</target>
<!-- 发布打包后的war文件 -->
<target name="deploy">
<copy todir="${webapps.home}" file="${deploy.home}/${app.name}.war" />
</target>
<!-- 生成 JavaDoc -->
<target name="javadoc">
<javadoc sourcepath = "${src.home}"
destdir = "${doc.home}/api"
packagenames = "${javadoc.pkg.top}.*"/>
</target>
<!-- copy应用到服务器中去 -->
<target name="copyApp" depends="build">
<echo message=" 开始复制文件 "/>
<copy todir="${webapps.home}/${app.name}">
<fileset dir="${build.home}"/>
</copy>
</target>
</project>