`

使用Apache ant 1.9.6编译打包Web项目

 
阅读更多

环境:

1,OS:Windows7

2,JDK:jdk1.7

3,Apache Ant:apache-ant-1.9.6

步骤:

1,解压apache-ant-1.9.6-bin.zip

2,添加环境变量ANT_HOME,比如C:\apache-ant-1.9.6-bin

3,Path变量添加ant的bin目录,比如%ANT_HOME%\bin

目标流程:

1,删除web project web-info目录下的classes目录;删除.war文件

2,建立web project web-info目录下的classes目录

3,复制src下的非java文件

4,编译生成java的class文件

5,打包成.war文件

Ant build.xml文件

 

<?xml version="1.0" encoding="UTF-8"?>
<project name="webprjtest" default="createwebwarfile" basedir="F:/">
	
	<property name="webproject.base" value="${basedir}/webtestproject/" ></property>
	<property name="webproject.src" value="${webproject.base}/src/" ></property>
	<property name="webproject.root" value="${webproject.base}/WebRoot/" ></property>
	<property name="webproject.lib" value="${webproject.root}/WEB-INF/lib/"></property>
	<property name="webproject.classes" value="${webproject.root}/WEB-INF/classes/"></property>
	
	<property name="appname" value="${ant.project.name}" ></property>
	<property name="warfile" value="${basedir}/${appname}.war" ></property>
	
	<!-- J2EE lib-->
	<property name="tomcat.lib" value="C:/tomcat/lib/"></property>
	
	<target name="del">
		<delete dir="${webproject.classes}"></delete>
		<delete file="${warfile}"></delete>
	</target>
	
	<target name="md">
		<mkdir dir="${webproject.classes}"/>
	</target>
	
	<path id="classpath">  
				<fileset dir="${webproject.lib}">  
					<include name="*.jar"/>  
				</fileset>
				<fileset dir="${tomcat.lib}">
					<include name="*.jar"/>
				</fileset>
				
	</path>	
	<property  name="classpath" refid="classpath"></property>

	
	<target name="buildjava"   description="Build java files and Copy other files in src .">		
		
		<javac srcdir="${webproject.src}" destdir="${webproject.classes}" 
			classpath="${classpath}"  
			encoding="utf-8"  				
			debug="true"
			deprecation="true"> 			
		</javac>	
	</target>
	
	<target name="cp">
		<copy todir="${webproject.classes}">
			<fileset dir="${webproject.src}">
				<exclude name="**/*.java"/>
			</fileset>
		</copy>
	
	</target>
	
	<target name="createwebwarfile" depends="del,md,cp,buildjava" description="Create War file from Web-Project .">
		
		<war destfile="${warfile}" webxml="${webproject.root}/WEB-INF/web.xml">
		
			<fileset dir="${webproject.root}" >	
				<include name="**" />
			</fileset>	
		
		</war>	
	</target>
	
</project>

 

===================================================================================

 

 

环境:

1,OS:Windows7

2,JDK:jdk1.8

3,Apache Ant:apache-ant-1.9.6

4,Tomcat8.5.3

目标:

对JavaWeb项目编译、打包、并在tomcat中运行

代码:

 

<?xml version="1.0" encoding="UTF-8"?>
<!-- ======================================================================                                                               
     ====================================================================== -->
<project name="monitor" default="default" basedir="D:/workspace_ElipseJEE_mars2">
    <description>
            Web Project built with JDK8 and run on Tomcat8.5.3
    </description>
	<record action="start" append="no" loglevel="info" name="e:/antbuildwar.log"/>
	
	<property name="webprj.base" value="${basedir}/monitor/"></property>
	<property name="webprj.src" value="${webprj.base}/src/"></property>
	<property name="webprj.root" value="${webprj.base}/WebRoot/"></property>
	<property name="webprj.lib" value="${webprj.root}/WEB-INF/lib/"></property>
	<property name="webprj.classes" value="${webprj.root}/WEB-INF/classes/"></property>
	
	<property name="appname" value="${ant.project.name}"></property>
	<property name="warfile" value="${basedir}/${appname}.war"></property>
	
	<!-- tomcat -->
	<property name="tomcat.home" value="F:/software/develop/apache-tomcat-8.5.3_win32/"></property>
	<property name="tomcat.lib" value="${tomcat.home}/lib/"></property>
	<property name="tomcat.webappfoler" value="${tomcat.home}/webapps/"></property>

    <!-- ================================= 
          target: default              
         ================================= -->
    <target name="default" depends="startuptomcat8.5" description="description">        
    </target>
  
	
	<!-- Delete old *.class folder and .war file -->
	<target name="delclasses">	
		<delete dir="${webprj.classes}"></delete>
		<delete file="${warfile}"></delete>
	</target>
	
	<!-- Create classes dir -->
	<target name="md" >
		<mkdir dir="${webprj.classes}"/>
	</target>
	
	
	<!-- 需要引用的jar包 -->
	<path id="classpathset">
		<fileset dir="${webprj.lib}">
			<include name="*.jar"/>
		</fileset>		
		<fileset dir="${tomcat.lib}">
			<include name="*.jar"/>
		</fileset>
	</path>
	
	<property name="classpath" refid="classpathset"></property>
	
	
	<!-- - - - - - - - - - - - - - - - - - 
          target: buildjava,编译                      
         - - - - - - - - - - - - - - - - - -->
    <target name="buildjava">
            <javac   verbose="yes" listfiles="yes" 
            	classpath="${classpath}"
            	srcdir="${webprj.src}" 
            	destdir="${webprj.classes}" 
            	fork="java$$javac.exe"
            	source="1.8"
            	target="1.8"
            	encoding="utf-8" 
            	debug="on" 
            	deprecation="on"
            	>
            	<compilerarg value="-Xlint"/>
            </javac>
    </target>
	
	<!-- - - - - - - - - - - - - - - - - - 
          target: cp,复制其他一些非java文件                
         - - - - - - - - - - - - - - - - - -->
    <target name="cp">
            <copy todir="${webprj.classes}">
            	<fileset dir="${webprj.src}">
            		<exclude name="**/*.java"/>
            	</fileset>
            </copy>
    </target>

	
	<!-- - - - - - - - - - - - - - - - - - 
          target: createwarfile                      
         - - - - - - - - - - - - - - - - - -->
    <target name="createwarfile" depends="delclasses,md,cp,buildjava">
            <war destfile="${warfile}" webxml="${webprj.root}/WEB-INF/web.xml">
            	<fileset dir="${webprj.root}">
            		<include name="**"/>
            	</fileset>
            </war>
    </target>

	<!-- - - - - - - - - - - - - - - - - - 
          target: cpwar                      
         - - - - - - - - - - - - - - - - - -->
    <target name="cpwar" depends="createwarfile">
            <copy todir="${tomcat.webappfoler}" file="${warfile}" overwrite="yes"></copy>
    </target>

	<!-- - - - - - - - - - - - - - - - - - 
          target: startuptomcat8.5, 执行外部命令,
          如果exec中没有dir属性设置,那么tomcat不启动成功,报CATALINA_HOME没设置               
         - - - - - - - - - - - - - - - - - -->
    <target name="startuptomcat8.5" depends="cpwar">
    		<exec executable="cmd.exe" dir="${tomcat.home}">
    			<arg line="/c ${tomcat.home}/bin/startup.bat"/>
    		</exec>            
    </target>
	
</project>




分享到:
评论

相关推荐

    apache-ant-1.9.6-bin.tar.gz

    总结来说,Apache Ant 1.9.6是Java项目构建的关键工具,尤其在CentOS 6.5和Hadoop的环境中。安装过程包括下载、解压、配置环境变量和验证。通过编写和执行build.xml文件,Ant可以帮助开发者高效地管理项目的构建流程...

    apache-ant-1.9.6的jar包

    Apache Ant 是一个开源的构建工具,它主要用于Java项目构建、自动化任务执行,如编译、打包、测试和部署。在Java开发中,Ant以其XML格式的构建文件(build.xml)著称,允许开发者定义项目构建的步骤和依赖关系。...

    apache-ant-1.9.6-linux包

    这个版本包含了Ant的全部功能,允许开发者在Linux环境中执行构建任务,如编译、打包、测试和部署Java项目。 描述中提到,“解压后放到自己喜欢的文件夹”,这指示了Apache Ant的安装过程并不复杂。首先,用户需要...

    apache-ant-1.9.6安装包

    Apache Ant 是一个广泛使用的Java构建工具,它遵循“软件构建”的概念,允许开发者通过XML配置文件定义任务来自动化构建过程,如编译、打包、测试和部署应用。Apache Ant 1.9.6 是该工具的一个版本,包含了对之前...

    apache-ant-1.9.6.rar

    11. **使用与安装**:解压缩"apache-ant-1.9.6.rar"后,将包含bin目录的路径添加到系统PATH环境变量中,然后可以通过命令行运行`ant`命令来执行构建。 12. **扩展与插件**:Ant支持通过Ant-Contrib库添加额外的任务...

    apache-ant-1.9.6

    3. **apache-ant-1.9.6-manual.zip**:这个文件包含的是Ant的用户手册,提供详细的文档,帮助开发者了解如何配置和使用Ant进行项目构建。手册通常会涵盖Ant的基本概念、任务大全、属性、条件、宏定义等方面的内容,...

    Apache-ant-1.9.6-bin.zip超级好用的工具

    Apache Ant 1.9.6是该项目的一个稳定版本,提供了许多改进和修复,确保了其在构建过程中的可靠性和效率。 在Ant中,核心概念是构建文件(build.xml),这是一个XML文档,包含了整个项目构建的步骤和规则。这个文件...

    apache-ant-1.9.6-bin

    这个"apache-ant-1.9.6-bin"压缩包包含了Apache Ant的1.9.6版本,这是一个稳定且广泛使用的发行版。Ant是基于XML的,它的主要任务描述文件被称为build.xml,其中定义了构建过程的各个步骤,包括编译、测试、打包和...

    apache-ant-1.9.6-bin.zip

    Ant以其灵活性和可扩展性而闻名,它通过XML配置文件定义构建过程,允许开发者自定义各种任务来编译、打包、测试和部署Java项目。 在"apache-ant-1.9.6-bin.zip"这个压缩包中,包含以下两个主要部分: 1. **Readme-...

    apache-ant-1.9.6-src

    Apache Ant是Java库和命令行工具,其使命是驱动过程描述在构建文件目标和扩展点的互相依赖。Ant的主要用途是构建应用程序。Ant提供了一些内置的任务,允许编译、汇编、测试和运行应用程序。也可以有效地用于构建非...

    ant编译1.9版本

    在“ant编译1.9版本”中,我们关注的是Apache Ant 1.9.6这个特定版本的使用方法和特性。 Apache Ant 1.9.6发布于2015年,作为Ant 1.9系列的一个稳定版本,它提供了一系列改进和修复,以提高构建效率和稳定性。这个...

    apache-ant-1.9.6-bin.zip(有英文chm文档)

    Apache Ant 是一个基于Java的构建工具,其设计目标是简化软件项目的构建过程。在概念上,它可以被看作是类似于make的工具,但避免了make的一些复杂性,为Java开发者提供了一个更加直观和灵活的解决方案。 Ant的核心...

    ant-1.9.6.rar

    Ant的设计理念是“简单就是美”,它通过XML格式的构建文件来定义项目构建的步骤,使得开发者能够自动化执行编译、打包、测试等任务。在本压缩包“ant-1.9.6.rar”中,包含了以下三个主要部分: 1. **apache-ant-...

    ant 构建环境使用

    Apache Ant是一种广泛使用的Java构建工具,它以XML为基础来描述构建过程,使得构建脚本具有良好的可读性和可维护性。Ant是Apache软件基金会Jakarta项目的一部分,它为Java项目提供了一种自动化构建的解决方案。 在...

    apache-ant

    "apache-ant-1.9.6-bin.zip" 是Apache Ant的一个发行版本,包含了运行Ant所需的所有二进制文件和库。 Apache Ant的核心概念是构建文件(build file),通常命名为`build.xml`。这个文件使用XML语法来定义项目的目标...

    ant环境搭建1

    Ant是Java开发中的一款自动化构建工具,它通过XML格式的构建文件定义项目构建过程,包括编译、打包、测试等任务。本文将详细介绍如何在Windows环境下搭建Ant,以便进行Java项目的构建。 首先,我们需要安装Java ...

    ANT帮助文档

    Apache Ant 是一个由Java编写的构建工具,它主要用于自动化软件项目的构建、编译、测试和部署过程。这个“ANT帮助文档”是针对Apache Ant 1.9.6版本的官方指南,采用CHM(Compiled HTML Help)格式,这种格式便于...

Global site tag (gtag.js) - Google Analytics