`
luckaway
  • 浏览: 136864 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

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、测试覆盖率等。
分享到:
评论
2 楼 baoxiaofei 2011-11-14  
楼主太给力了,刚开始学web编程,很有用,谢谢!
1 楼 宇宙浪子 2011-09-23  
楼主太给力了,终于找到一个工程目录的了

相关推荐

    mybatis-framework修改生成

    3.使用myeclipse新建web工程之后将jeecg-mybatis-framework目录下文件复制粘贴到新建的web工程目录下 4.在myeclipse中刷新新建的web工程之后找到resources/jeecg目录下 jeecg_config.properties与jeecg_database....

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (1)

    13.4.4 配置本项目的web.xml文件 13.5 编写网上调查系统的JSP页面 13.5.1 用户注册画面regedit.jsp 13.5.2 用户登录画面login.jsp 13.5.3 设定调查题目的画面surveyName.jsp 13.5.4 设定调查项目的画面surveyOption....

    ant1.9资源

    同时在antstudy工程的根目录下建立build.xml文件,在该文件中编译src目录下的java文件,并将编译后的class文件放入build/classes目录中,在编译前,需清除classes目录,该文件的内容如下: &lt;?xml version="1.0"?&gt; ...

    适应ant的build文档的编写

    新建一个build.xml,放在工程根目录下。build.xml定义了Ant要执行的批处理命令。虽然Ant也可以使用其它文件名,但是遵循标准能更使开发更规范,同时易于与别人交流。 通常,src存放Java源文件,classes存放编译后的...

    《程序天下:J2EE整合详解与典型案例》光盘源码

    13.4.4 配置本项目的web.xml文件 13.5 编写网上调查系统的JSP页面 13.5.1 用户注册画面regedit.jsp 13.5.2 用户登录画面login.jsp 13.5.3 设定调查题目的画面surveyName.jsp 13.5.4 设定调查项目的画面surveyOption....

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (2)

    13.4.4 配置本项目的web.xml文件 13.5 编写网上调查系统的JSP页面 13.5.1 用户注册画面regedit.jsp 13.5.2 用户登录画面login.jsp 13.5.3 设定调查题目的画面surveyName.jsp 13.5.4 设定调查项目的画面surveyOption....

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (3)

    13.4.4 配置本项目的web.xml文件 13.5 编写网上调查系统的JSP页面 13.5.1 用户注册画面regedit.jsp 13.5.2 用户登录画面login.jsp 13.5.3 设定调查题目的画面surveyName.jsp 13.5.4 设定调查项目的画面surveyOption....

    iuhyiuhkjh908u0980

    在工程目录下创建libs/hibernate/ ,放入 hibernate-tools-3.2.0.ga.jar jtidy-4aug2000r7-dev.jar build.properties project.name=sw project.version=1.0 basedir=. build.dir =${basedir}/build web.dir = ${...

    Maven2 的新特性.7z

    • Maven1:project.xml、maven.xml、project.properties和build.properties。 • Maven2:pom.xml和settings.xml。 POM是Maven的核心对象模型,在Maven2中POM已由project.xml转移到pom.xml中使用,版本也由3升级...

    2018年5月最新maven项目SSM框架整合

    零、事实上我是写完第七步后才想起没有配置数据库的,我使用SQLyog工具直接将整个数据库的数据和结构直接导出了sql文本,放在压缩包根目录下(sql.sql),所以,拿着它去执行把! 一、这个是maven项目,所以请配置好...

    springmybatis

    整个工程目录结构如下: 除非申明,文章均为一号门原创,转载请注明本文地址,谢谢! mybatis实战教程(mybatis in action)之二:以接口的方式编程 前面一章,已经搭建好了eclipse,mybatis,mysql的环境,并且实现了...

    fckedit编辑器

    1 新建一个web工程名字为FCKeditor-java-2.3,然后把FCKeditor-2.3-java.zip解压缩后的代码拷贝到工程目录下 2如果是用的Eclipse,使用快捷键Ctrl+Shift+R 在SimpleUploaderServlet.java和ConnectorServlet.java两...

    t淘淘商城项目 商城项目 视频和源码教程 详细

    3.3.1. 后台管理系统的工程结构 继承: 依赖: 后台管理系统工程结构: taotao-parent -- 管理依赖jar包的版本,全局,公司级别 |--taotao-common --- 通用组件、工具类 |--taotao-manage -- 后台...

    Java通用代码生成实用程序XDoclet(源码包)

    XDoclet 引擎:XJavaDoc 引擎读取标记,这些标记组成了类的元数据和结构。XDoclet 引擎使用来自 XJavaDoc 引擎的信息,来生成支持文件(源代码和部署描述符)。XDoclet 提供了一个优秀的模板生成引擎,该引擎将模板...

    将 Flex 集成到 Java EE 应用程序的最佳实践(完整源代码)

    因此,需要填入 EmployeeMgmt-Server 项目的 web 根目录,该目录下必须要存在 /WEB-INF/flex/。点击“Validate Configuration”验证配置文件是否正确,只有通过验证后,才能继续。默认地,Flex Builder 将会把生成的...

    Jsp Barcode4J条形码打印制作范例.rar

    解压barcode4j-2.0-bin.zip这个包,在build目录下有barcode4j.jar,在lib目录下有avalon-framework-4.2.0.jar, 将barcode4j.jar和avalon-framework-4.2.0.jar添加到项目的lib中,刷新工程,然后在项目配置中将这两...

    PHP手册2007整合中文版

    16. 控制结构 17. 函数 18. 类与对象(PHP 4) 19. 类与对象(PHP 5) 20. Namespaces 21. 异常处理 22. 引用的解释 IV. 安全 23. 简介 24. 总则 25. 以 CGI 模式安装时 26. 以 Apache 模块安装时 27. 文件系统安全 ...

    struts2配置2.5版

    &lt;constant name="struts.configuration.xml.reload" value="true" /&gt; 6.查看源码:Build path 后的类库中,奶瓶图标找到struts-core-2.5.16.jar 右键--&gt;properties--&gt;java Source Attachment--&gt;External ...

    +Flex+集成到+Java+EE+应用程序的最佳实践(完整源代码)

    因此,需要填入 EmployeeMgmt-Server 项目的 web 根目录,该目录下必须要存在 /WEB-INF/flex/。点击“Validate Configuration”验证配置文件是否正确,只有通过验证后,才能继续。默认地,Flex Builder 将会把生成的...

    完全免费的Java/jsp开发编辑工具FirstJava2

    自动编译工程的所有类到classes目录, 复制相关文件到build目录下,并把build目录下的所 有内容打包成deploy目录下webtest1.war再复制到Tomcat的webapps目录下. 在工具条上点"运行Tomcat 服务器",就会自动运行Tomcat ...

Global site tag (gtag.js) - Google Analytics