web项目典型的工程目录结构和build.xml

--yourproject
--src d
--java d 运行的java源代码
--test d 单元测试的源代码
--configs d 配置文件
--lib d 开发需要的lib(里面通常是运行时不需要的jar)
--build.propertis f (ant的)
--build.xml f (ant)
--document d (项目的设计文档、数据库设计文档等)
--WEB-INF d
--classes d
--lib d (运行时需要的jar,当然开发肯定也需要该lib)
--dist d (打成jar、war的存放路径)
--css d
--js d
--view d (模板文件 。jsp,mv)
--images d


--yourproject
--src d
--java d 运行的java源代码
--test d 单元测试的源代码
--configs d 配置文件
--lib d 开发需要的lib(里面通常是运行时不需要的jar)
--build.propertis f (ant的)
--build.xml f (ant)
--document d (项目的设计文档、数据库设计文档等)
--context
--WEB-INF d
--classes d
--lib d (运行时需要的jar,当然开发肯定也需要该lib)
--dist d (打成jar、war的存放路径)
--css d
--js d
--view d (模板文件 。jsp,mv)
--images d

1.缩进表示目录层次结构
2.d表示是目录
3.f表示普通的文件,非目录


build.properties

##项目名称
project=com-apache-projectName
#项目版本
version=2.6.1
#项目根目录
project.home=.
#存放源文件(.java)目录
src.dir=${project.home}/src
#存放编译后的文件(.class)的目录
classes.dir=${project.home}/context/WEB-INF/classes
#存放jar的目录,这个lib存放的是运行环境时需要到jar
lib.dir=${project.home}/context/WEB-INF/lib
#开发环境需要的jar。比如junit的jar,一些mock
build.lib.dir=lib
#项目jar、war包的存放目录
dist.dir=dist
#配置文件的存放目录,
configs.dir=${src.dir}/configs


build.xml

<?xml version="1.0" encoding="GB2312" ?>

<project name="metis" default="init" basedir=".">
<property file="build.properties" />
<!-- build的classPath -->
<path id="build.classpath">
<fileset dir="${build.lib.dir}" includes="**/*.jar">
</fileset>
</path>
<!-- 运行的classPath -->
<path id="runtime.classpath">
<fileset dir="${lib.dir}" includes="*.jar">
</fileset>
<fileset dir="${build.lib.dir}" includes="*.jar">
</fileset>
</path>

<!--初始化,通常情况就是创建目录 -->
<target name="init">
<mkdir dir="${classes.dir}" />
<mkdir dir="${dist.dir}" />
</target>
<!-- 编译源文件,并且把configs下的配置文件也复制到classes下 -->
<target name="compile" depends="init">
<copy todir="${classes.dir}">
<fileset dir="${configs.dir}">
<include name="*" />
</fileset>
<fileset dir="${src.dir}/resource">
<include name="*" />
</fileset>
</copy>
<javac srcdir="${src.dir}" destdir="${classes.dir}" classpathref="runtime.classpath" debug="true" />
</target>

<!-- 把项目打成jar包,所有编译好的*.class打成一个jar,里面仅仅包含.jar -->
<target name="jar" depends="compile">
<jar jarfile="${dist.dir}/${project}-${version}.jar">
<fileset dir="${classes.dir}">
<include name="com/dukuai/**" />
<exclude name="com/dukuai/**/Test*.class" />
<exclude name="com/dukuai/**/*Tests.class" />
<exclude name="com/dukuai/module/test/**" />
<exclude name="com/dukuai/test/**" />
</fileset>
</jar>
<copy todir="${lib.dir}">
<fileset dir="${dist.dir}">
<include name="${dist.dir}/${project}-${version}.jar" />
</fileset>
</copy>
</target>

<!-- 源码包。 -->
<target name="srcjar">
<jar jarfile="${dist.dir}/${project}-${version}-src.jar">
<fileset dir="${src.dir}/java">
<include name="com/dukuai/**" />
<exclude name="com/dukuai/**/Test*.java" />
<exclude name="com/dukuai/**/*Tests.java" />
<exclude name="com/dukuai/module/test/**" />
</fileset>
</jar>
</target>

<!-- 导出工程,运行的工程,不包含源文件等 -->
<target name="project">
<delete dir="${dist.dir}/${project}-${version}-project.jar" />
<jar jarfile="${dist.dir}/${project}-${version}-project.jar">
<fileset dir="${project.home}">
<include name="bin/**" />
<include name="context/**" />
<include name="doc/**" />
<include name="logs/**" />
<include name="src/**" />
<include name="testcase/**" />
<include name="build.properties" />
<include name="build.xml" />
<include name="INSTALL" />
<include name="README" />
</fileset>
</jar>
</target>

<target name="clean">
<delete dir="${classes.dir}" />
</target>
</project>


通常的工程还要包含其他的target,eg. testcase、测试覆盖率等。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值