`
luckaway
  • 浏览: 137776 次
  • 性别: 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  
楼主太给力了,终于找到一个工程目录的了

相关推荐

    ANT應用於WEB工程的比較詳細的build.xml文件

    本文将深入探讨“ANT应用於WEB工程”的详细`build.xml`文件,这是Apache Ant工具的一个实例,一个基于XML的构建脚本,用于管理Java项目的构建过程。 Apache Ant是一个开源的构建工具,由Apache软件基金会开发。它被...

    Eclipse中Ant的配置与测试 build.xml

    - 在项目根目录下新建`build.xml`文件,该文件用于定义Ant的任务和构建流程。 - 示例`build.xml`文件内容如下: ```xml &lt;?xml version="1.0"?&gt; &lt;!-- 定义属性 --&gt; &lt;property name="src.dir" value="src"/&gt; ...

    ant打包Web工程

    7. **运行Ant**:最后,通过命令行运行`ant`命令,执行`build.xml`中的任务,即可完成Web工程的打包。例如,`ant compile`编译源码,`ant war`则生成WAR文件。 8. **扩展与集成**:除了基本功能,Ant还可以通过插件...

    一个典型的Java Web项目.zip

    【标题】"一个典型的Java Web项目.zip" 描述了这是一个基于Java技术的Web应用程序实践案例。在Java Web开发中,开发者通常会使用一系列技术和工具来构建动态、交互式的Web应用。这个压缩包可能包含了实现此类项目的...

    13_ant_发布web项目和操作数据库

    1. 配置Web项目结构:确保项目按照标准的Web应用目录结构组织,如WEB-INF、classes、lib等。 2. 编写`build.xml`:定义发布目标,如`war`任务,用于打包Web应用为WAR文件。这通常包括清理、编译源代码、复制资源文件...

    idea创建基于maven的web工程共6页.pdf.zi

    【标题】"idea创建基于maven的web工程共6页.pdf.zip" 提供的信息表明,这是一个关于使用IntelliJ IDEA(简称Idea)创建基于Maven的Web项目的教程文档,内容可能涵盖6个主要步骤或章节,并且已被压缩成一个PDF文件。...

    不能直接导入的web项目添加到myeclipse里.doc

    总之,将不能直接导入的Web项目添加到MyEclipse中需要手动调整项目结构和配置,确保MyEclipse能够识别并正确处理项目的所有组件。这是一个需要细心和耐心的过程,但通过以上步骤,你应该能够成功地将项目导入并运行...

    Ant+Svn打包Web工程

    本主题将深入探讨如何结合Apache Ant和Subversion(Svn)来打包Web工程,这是一个常见的开发实践,尤其对于Java Web项目而言。首先,让我们理解这两个工具的核心概念。 **Apache Ant** 是一个Java库和命令行工具,...

    IDEA下使用maven构建web项目(SpringMVC+Mybatis整合).zip

    在本文中,我们将深入探讨如何在IntelliJ IDEA(IDEA)中使用Maven构建一个包含SpringMVC和Mybatis的Web项目。首先,我们需要理解这三个核心组件:IDEA是流行的Java开发集成环境,Maven是项目管理和构建工具,而...

    内嵌式tomcat启动web工程

    在本教程中,我们将深入探讨如何使用Maven来配置和启动一个内嵌式的Tomcat服务器,以便运行Web工程。 首先,我们需要在项目中添加Tomcat内嵌库。在Maven的`pom.xml`文件中,我们需要引入`tomcat7-maven-plugin`或`...

    使用ant部署eclipse开发的web工程到tomcat

    以下是一个基本的`build.xml`文件结构: ```xml &lt;project name="MyWebApp" basedir="." default="deploy"&gt; &lt;!-- 定义属性 --&gt; &lt;property name="src.dir" value="src"/&gt; &lt;property name="build.dir" value=...

    毕业设计 Java web项目源码整合开发ssm-明日知道.rar

    5. **构建脚本**:如`pom.xml`(如果使用Maven)或`build.gradle`(如果使用Gradle),用于项目的构建和依赖管理。 6. **运行环境**:可能有`README.md`或`README.txt`文件,说明如何运行和配置项目,以及可能的环境...

    maven创建web工程

    此时,项目结构中会出现 `src/main/webapp` 目录,这是 Maven 默认的 Web 应用目录结构的一部分。 ##### 2. 将 Maven 项目转换为 Eclipse Dynamic Web Project 在项目上右键点击,选择 `Properties`,然后在弹出的...

    web eclips工程

    6. build和WEB-INF/classes目录:编译后的Java类和资源文件。 在实践中,我们可以按照以下步骤来运行这个项目: 1. 在Eclipse中导入项目,确保已安装Struts 1.1相关的插件。 2. 配置Tomcat服务器,将项目部署到...

    如何把普通maven工程变为web工程

    Maven项目的基本目录结构包括`src/main/java`(存放Java源代码)、`src/main/resources`(存放资源文件)以及`src/main/webapp`(在Web工程中用于存放Web资源)。在Web工程中,`src/main/webapp`目录下通常会有`WEB...

    idea 导入web项目并集成多个项目工程改进版

    1. **Web Resource Descriptor**:在配置Web应用时,确保“Web Resource Descriptor”指向正确的`web.xml`文件位置,通常位于Web项目的`src/main/webapp/WEB-INF`目录下。 2. **Tomcat Web Apps 目录**:确保在部署...

Global site tag (gtag.js) - Google Analytics