`
wang371134086
  • 浏览: 128441 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ant打war包

阅读更多

 

  最近做项目需要生成war包,无奈myeclipse自动生成war包时总是一闪而过,不能生成,不知是什么原,无奈之下自己ant生成jar包,过程中下面这篇文章帮助很大,特抄录如下,对作者表示万分感激:
链接地址 http://blog.csdn.net/viproc/article/details/7702541
Ant 相关的介绍我就不详述了,网上这方面介绍还是比较多的,下面我就用一个简单的 web 应用做示例。
附件 anttest.rar 包里面是一个简单的登陆应用,输入用户和密码跳转成功页面并显示输入的值,这个工程是用 myeclispe 写的,下面我就模拟实现 myeclipse 的 tomcat 发布 web 应用,将这个应用打包到 tomcat 的 webapps 目录下。

1.构建ant环境
1)安装jdk,设置JAVA_HOME ,PATH ,CLASS_PATH。
2)下载ant 地址www.apache.org。
3)解压ant 你得到的是一个压缩包,解压缩它
4)设置ANT_HOME PATH中添加ANT_HOME目录下的bin目录。
5)测试一下你的设置。开始-->运行-->cmd进入命令行-->键入 ant 回车,如果看到
Buildfile: build.xml does not exist!
Build failed
build.xml:
  1. <project basedir="." default="publish" name="anttest">  
  2.     <target name="init" description="设置初始化打 war 包需要的路径变量">  
  3.         <property name="name" value="anttest"/>  
  4.         <property name="src" value="${basedir}/anttest/src"/>  
  5.         <property name="lib" value="${basedir}/anttest/WebRoot/WEB-INF/lib"/>  
  6.         <property name="webapp" value="${basedir}/anttest/WebRoot"/>  
  7.         <property name="packages" value="ant.*"/>  
  8.           
  9.         <property name="build.src" value="${basedir}/AntBuild/anttest/src"/>  
  10.         <property name="build.dest" value="${basedir}/AntBuild/anttest/WEB-INF/classes"/>  
  11.         <property name="buildwar.dest" value="${basedir}/AntBuild/anttest"/>  
  12.         <property name="build.javadocs" value="${basedir}/AntBuild/doc"/>  
  13.         <property name="jar.dest" value="${basedir}/AntBuild/jar"/>  
  14.         <property name="war.dest" value="${basedir}/AntBuild/war"/>  
  15.           
  16.         <property name="tomcat.home" value="D:\Program Files\Apache Software Foundation\Tomcat 6.0"/>  
  17.         <property name="j2eelib.dir" value="D:\Program Files\MyEclipse 6.5\myeclipse\eclipse\plugins\com.genuitec.eclipse.j2eedt.core_6.5.0.zmyeclipse650200806\data\libraryset\EE_5"/>  
  18.           
  19.         <path id="classpath">  
  20.             <fileset dir="${j2eelib.dir}">  
  21.                 <include name="**/*.jar"/>  
  22.             </fileset>  
  23.             <fileset dir="${lib}">  
  24.                 <include name="**/*.jar"/>  
  25.             </fileset>  
  26.         </path>  
  27.     </target>  
  28.       
  29.     <target name="prepare" depends="init" description="创建打包需要的路径,拷贝源文件到打包路径下">  
  30.         <mkdir dir="${build.src}"/>  
  31.         <mkdir dir="${build.dest}"/>  
  32.         <mkdir dir="${buildwar.dest}"/>  
  33.         <mkdir dir="${jar.dest}"/>  
  34.         <mkdir dir="${war.dest}"/>  
  35.         <copy todir="${build.src}">  
  36.             <fileset dir="${src}"/>  
  37.         </copy>  
  38.         <copy todir="${buildwar.dest}">  
  39.             <fileset dir="${webapp}"/>  
  40.         </copy>  
  41.     </target>  
  42.       
  43.     <target name="build" depends="prepare" description="编译 java 文件,拷贝 properties 属性配置文件到编译后的路径下">  
  44.         <javac srcdir="${build.src}" destdir="${build.dest}">  
  45.             <classpath refid="classpath"/>  
  46.         </javac>  
  47.         <copy todir="${build.dest}">  
  48.             <fileset dir="${build.src}">  
  49.                 <include name="**/*.properties"/>  
  50.             </fileset>  
  51.         </copy>  
  52.     </target>  
  53.       
  54.     <target name="antwar" depends="javadoc" description="打 war 包,不将 java 文件打入包内">  
  55.         <delete dir="${build.src}"/>  
  56.         <war warfile="${war.dest}/anttest.war" webxml="${buildwar.dest}/WEB-INF/web.xml">  
  57.             <lib dir="${buildwar.dest}/WEB-INF/lib"/>  
  58.             <classes dir="${build.dest}"/>  
  59.             <fileset dir="${buildwar.dest}"/>  
  60.         </war>  
  61.     </target>  
  62.       
  63.     <target name="publish" depends="antwar,clean" description="发布 war 包至 tomcat 目录下">  
  64.         <copy todir="${tomcat.home}/webapps">  
  65.             <fileset dir="${war.dest}">  
  66.                 <include name="**/*.war"/>  
  67.             </fileset>  
  68.         </copy>  
  69.     </target>  
  70.       
  71.     <target name="javadoc" depends="build" description="生成 java 的 API 帮助文档">  
  72.         <mkdir dir="${build.javadocs}"/>  
  73.         <javadoc sourcepath="${build.src}" destdir="${build.javadocs}" author="true" version="true" use="true" splitindex="true" windowtitle="${name} API" doctitle="${name}">  
  74.             <classpath refid="classpath"/>  
  75.         </javadoc>  
  76.     </target>  
  77.       
  78.     <target name="clean" depends="init" description="清除打包用临时文件">  
  79.         <delete dir="${build.src}"/>  
  80.         <delete>  
  81.             <fileset dir="${build.dest}" includes="**/*.classes"/>  
  82.         </delete>  
  83.         <delete dir="${buildwar.dest}"/>  
  84.     </target>  
  85. </project>  

注意:里面有个 j2ee 的 jar 包目录,如果要测试的话把这个目录换成本机的这个目录,然后就可以在命令行里面到这个目录下直接执行 ant 命令就可以看到效果了。

3.最后执行的结果如下:
D:\temp>ant
注意:里面有个 j2ee 的 jar 包目录,如果要测试的话把这个目录换成本机的这个目录,然后就可以在命令行里面到这个目录下直接执行 ant 命令就可以看到效果了。

3.最后执行的结果如下:
D:\temp>ant


 

分享到:
评论

相关推荐

    使用ant打war包

    ### 使用Ant构建WAR包详解 在Java开发领域中,Ant是一种非常流行的自动化构建工具,它可以帮助开发者自动完成项目构建过程中的各种任务,如编译、测试、打包等。本篇文章将详细阐述如何使用Ant来构建WAR(Web ...

    Ant 打 war 包过程

    在Java Web开发中,"Ant打war包过程"是一个关键步骤,它涉及到使用Apache Ant工具将项目打包成一个可部署的WAR(Web Application Archive)文件。Ant是一个基于XML的构建工具,广泛用于自动化Java项目的构建、编译和...

    用ant进行war打包

    在Ant中,这个过程通常由`&lt;war&gt;`任务完成,它位于`ant.jar`的`org.apache.tools.ant.taskdefs`包下。以下是一个基本的`build.xml`配置示例: ```xml &lt;project name="MyWebApp" default="war" basedir="."&gt; ${...

    将项目打成war包

    打包:将编译后的*.calss文件打包成 jar或war包; 部署:将打包后的war文件部署到制定的web应用服务器中去。(tomcat的webappers中去) ******************************* ant默认执行build.xml文件 ant是使用的java...

    ant将工程打war

    在Java开发领域,Ant是一个非常重要的...在描述的“简单的案例用ant将工程打war”中,我们首先要创建`build.xml`文件,并设置基本的项目配置。这通常包括项目的源代码目录、输出目录、类路径等信息。例如: ```xml ...

    WAR包的制作和解压过程指导

    ##### 2.3 Ant工具打WAR包 Apache Ant是一个强大的Java构建工具,能够帮助开发者自动化构建过程,包括WAR包的制作。 1. **安装Ant**:首先下载并解压Ant至指定目录,例如`D:\Program Files\apache-ant-1.7.1`。 2....

    ant打ear包的详细步骤

    在 Ant build 文件中,我们将公用的 JAR 包都放到 EAR 文件下,而不是分别在 EJB JAR 包和 WAR 包中,以减少 JAR 包的冗余。 通过上面的步骤,我们可以使用 Ant 工具将 EJB 项目打包成 EAR 文件,並 deploy 到 ...

    java利用Ant脚本生成war包全过程

    在运行Ant脚本时,只需在命令行中输入`ant`或`ant warFile`,Ant就会按照脚本的指示完成整个构建过程,生成WAR包。 总结来说,Java利用Ant脚本生成WAR包是一个标准化的过程,涉及源代码的编译、资源文件的组织、...

    使用Ant编译打包

    当你成功生成了WAR包后,下一步通常是将其部署到应用服务器上。这通常涉及到将WAR文件复制到服务器的特定目录,例如Tomcat的`webapps`目录。然后,服务器会自动检测到新文件并启动应用。具体步骤取决于你的应用...

    Gradle构建(war) web项目示例

    在现代的Java Web开发中,Gradle已经成为一个流行的构建工具,它替代了传统的Maven或Ant,提供了更灵活、可定制化的构建流程。本示例将深入探讨如何使用Gradle来构建一个WAR(Web Application Archive)文件,这是...

    Ant自动打包用的.

    Ant提供了一系列内置的任务,如`jar`、`war`等,可以帮助开发者轻松完成这一过程。 描述中的"Ant自动打包用的"进一步强调了Ant在自动化构建中的角色。通过Ant的XML配置文件(通常称为build.xml),开发者可以定义一...

    ANT学习资料

    其中包括: (1)Ant帮助文档.docx (2)ant打war包.txt (3)Ant入门与进阶.pdf (4)ant实用实例.pdf (5)ant学习小节.doc (6)Java_ANT.pdf (7)自己写的一个简单例子

    ant打包Web工程

    3. **定义任务(Tasks)**:Ant通过任务来执行具体的操作,例如`javac`用于编译Java源代码,`copy`用于复制文件,`jar`用于创建JAR包,`war`则用于打包Web应用。 4. **Web应用结构**:在打包Web应用时,理解标准的...

    ant.rar java的架包ant

    1. 安装Ant:下载Ant的zip包,解压到指定目录,并配置环境变量。 2. 创建build.xml:根据项目需求编写构建文件,定义目标和任务。 3. 运行Ant:通过命令行执行Ant,如`ant clean compile`,Ant会按照构建文件执行...

Global site tag (gtag.js) - Google Analytics