上次讲了ant的安装和配制,这一节主要来看一个例子来体验一下ant的魅力。
在开始例子之前,首先来看一下ant安装包目录结构
ant
+--- README, LICENSE, fetch.xml, 其它文件. //一些提供基本信息的文件
+--- bin //这个目录下包含了一些启动ant的bat、shell等脚本
|
+--- lib // 包含ant 及其依赖的jar
|
+--- docs // 一些文档放在这个目录下
| |
| +--- images // 文档里面的一些图片
| |
| +--- manual // ant文档
|
+--- etc // 包含有各种作用的xsl文件:
// - 创建一个各种任务输出到xml的加强报告
// - 迁移您的构建文件和摆脱“过时”的警告
// - ... 其它作用 ;-)
这一个本来应该放在第一节的。这里补充一下:)
开始我们的例子。
设想好构架
首先在上面的ant目录下新建一个test文件夹,以保存我们的例子,(当然你也可以在其它地方,这个依个人习惯)。
在test目录下有这样一个目录结构。
test
+---src
|
+---com
|
+---sample
|
+---Project.java
Project.java代码如下:
//这里的代码可以随意,不写都没关系
public class Project
{
public static void main(String args[])
{
System.out.println("test!");
}
}
这个目录很像eclipse里面看到的项目结构,test就一个项目,要的就是这种效果:)
那我们如果用ant对这个项目进行编译、执行、打包呢?
首先我们要做的事是想好要把编译和打包后的class、jar文件放在哪里,我这里打算把编译的class文件夹放在test/build/classes文件夹下,把打包后的jar文件放在test/build/libs下。这里并不是真的要自己去建build、classes、libs文件夹,我会让ant自己去建些文件夹。
编写ant配制文件
下面将开始最关键的步骤,编写ant的build.xml文件。ant要做的事都写在这个文件里面,我把它放在test目录下。build.xml文件如下:
<?xml version="1.0" encoding="GB2312" ?>
<project name="main" default="complie" basedir=".">
<property name="src.dir" value="src"/>
<property name="build.dir" value="build"/>
<property name="build.lib" value="${build.dir}/lib"/>
<property name="build.classes" value="${build.dir}/classes"/>
<!-- build directories -->
<target name="prepare">
<mkdir dir="${build.dir}"/>
<mkdir dir="${build.lib}"/>
<mkdir dir="${build.classes}"/>
</target>
<!--javac code-->
<target name="complie" depends="prepare">
<javac srcdir="${src.dir}" destdir="${build.classes}" includeantruntime="on"/>
</target>
<!--java code-->
<target name="run" depends="complie">
<java classname="Project" classpath="${build.classes}"/>
</target>
<!-- jar code -->
<target name="jar" depends="complie">
<jar jarfile="${build.lib}/Project.jar"
basedir="${build.classes}" >
<manifest>
<attribute name="Main-class" value="Project"/>
</manifest>
</jar>
</target>
<target name="clean">
<delete dir="${build.dir}"/>
</target>
</project>
对上面build.xml进行分析
<?xml version="1.0" encoding="GBK2312" ?>
这一句xml文件基本都有,需要注意的是encoding="GB2312" 这一句,如果不写或写成encoding="UTF-8",文件中有中文时会报错.
<project name="test" default="complie" basedir=".">
</project>
ant的所有内容必须包含在这个里边,name是你给它取的名字(任意写),basedir故名思意就是工作的根目录 .代表当前目录。default代表默认要做的任务。
<property name="src.dir" value="src"/>
<property name="build.dir" value="build"/>
<property name="build.lib" value="${build.dir}/lib"/>
<property name="build.classes" value="${build.dir}/classes"/>
这一堆是类似定义了java里面的变量(name是变量名,value是值),${XXX} 就是取上面定义的值。
<!-- build directories -->
<target name="prepare">
<mkdir dir="${build.dir}"/> //建build文件夹
<mkdir dir="${build.lib}"/> //建lib文件夹
<mkdir dir="${build.classes}"/> //建classes文件夹
</target>
这一陀是说定义了一个任务,名叫prepare。每个任务写成一个target,<mkdir>什么的就是建了一堆文件夹
<!--javac code-->
<target name="complie" depends="prepare">
<javac srcdir="${src.dir}" destdir="${build.classes}" includeantruntime="on"/>
</target>
这里建了一个叫complie的任务,depends就是它所依赖要做的任务。比如ant执行到<target name="complie" depends="prepare">这里的时候,它发现有一个依赖,就会去判断prepare这个任务有没有被执行过,如果执行过了就直接执行complie这个任务,如果没有就执行prepare这个任务。
<javac srcdir="${src.dir}" destdir="${build.classes}" includeantruntime="on"/> 这句就是编译,javac命令应该都熟悉,srcdir是指定要编译的文件夹,destdir是指定编译后的class文件放置的文件夹。
<!--java code-->
<target name="run" depends="complie">
<java classname="Project" classpath="${build.classes}"/>
</target>
这里是运行java代码。要先做这个任务,就要先做complie。classname指定class文件,classpath指定class文件的位置。
<!-- jar code -->
<target name="jar" depends="complie">
<jar jarfile="${build.lib}/Project.jar"
basedir="${build.classes}">
<manifest>
<attribute name="Main-class" value="Project"/>
</manifest>
</jar>
</target>
打包成jar文件。jarfile指定要生成的jar(带路径),basedir指定要打包的class文件。
<manifest>
<attribute name="Main-class" value="Project"/>
</manifest>
这个是在生成的jar文件里面的MANIFEST.MF文件里面加入”Main-class: Project“这样一句话。如果不加,你打包的jar文件,在命令行运行 java -jar Project.jar 会报错。
<target name="clean">
<delete dir="${build.dir}"/>
</target>
这个就是把build文件夹删除。如果运行这个任务的话,以前构建的东东就会被删除掉,可以重新构建。可以在prepare加了这个作为依赖。
运行
开始-->运行-->cmd进入命令行-->进入test目录
输入ant,就会默认运行complie任务,你也可以输入ant compile 、ant clean、ant run、ant jar 单独一个。
结果
假设你输入了ant jar,我们来看一下,现在的test文件夹下是怎么样子的。
test
+---src
| |
| +---com
| |
| +---sample
| |
| +---Project.java
|---build
| |
| +---classes
| | |
| | +---Project.class
| +---libs
| |
| +---Project.jar
|---build.xml
分享到:
相关推荐
Vue CLI 3是Vue.js官方提供的一个快速脚手架工具,它简化了项目的初始化和配置过程,而Ant Design Vue则是一个基于Vue.js的高质量前端组件库,灵感来源于Ant Design设计体系。 首先,让我们了解Vue CLI 3。Vue CLI ...
5. **完善的API和示例**:离线文档中详尽的API文档和示例代码,使得开发者能快速上手,减少学习曲线。 6. **国际化支持**:内置多语言支持,方便开发者实现项目的全球化。 7. **与Vue.js深度集成**:充分利用Vue的...
Ant Design是一款由阿里集团开发的高质量React UI库,它提供了一系列美观、易用且具有企业级特性的组件,如按钮、表单、表格、导航、模态框等,旨在提升前端开发效率,实现快速构建企业级Web应用。 描述中提到可以...
这个项目主要用于学习和理解如何有效地构建专业级的Web应用,尤其是对于那些想要深入了解Ant Design和ES6特性的开发者来说,具有很高的参考价值。 Ant Design 是一个流行的React UI组件库,提供了丰富的界面元素和...
6. **README** 文件:通常包含了快速入门指南和安装提示,帮助开发者快速开始使用Ant。 在使用Apache Ant时,开发者会创建一个名为`build.xml`的文件,该文件定义了构建过程。XML结构使得构建过程可读性强,易于...
它提供了预设的布局、样式和组件,使得开发者可以快速搭建美观且响应式的用户界面。`ant-design-pro`不仅包含常见的表单、按钮、布局等组件,还提供了如图表、看板等更复杂的业务组件,极大地提高了开发效率。 在...
这个版本包含了Ant运行所需的全部二进制文件和资源,方便开发者在Windows环境下快速搭建和管理项目的构建过程。 Apache Ant的核心概念是基于XML的构建文件(build.xml),其中定义了各种任务(tasks)和目标...
《Ant、Apache与Log4j:深入理解jar.zip包》 在软件开发中,我们经常遇到各种工具和库,它们是构建复杂系统的关键组件。...在实际工作中,我们需要不断学习和掌握这些基础工具,以适应快速发展的软件工程环境。
Vue 3.2 -- 使用vue3+ant-design-vue+vite+ts开发的通用中后台框架,实现了权限系统、动态菜单、国际化、mock数据、表格集成快速使用等功能,简洁干净开箱即用。. 各领域数据集,工具源码,适合毕业设计、课程设计...
阅读这个文件可以帮助用户快速了解如何开始使用Ant,并解决可能出现的初始问题。 2. **apache-ant-1.9.6**:这是Ant的二进制发行版,包含所有运行Ant所需的文件。这个目录下通常会有以下几个关键子目录和文件: -...
多页签功能是前端开发中常见的需求,它允许用户在多个视图之间快速切换而无需加载整个页面。在Ant Design Vue Pro Master中,这个功能可能是通过Vue Router的嵌套路由和动态路由匹配实现的。每个页签对应一个独立的...
通过解压并研究这些文件,开发者可以学习如何集成和使用 av-table,同时也能理解其内部工作机制,以便进行二次开发或定制。 "说明.txt" 文件很可能是对 av-table 组件的使用说明或开发者指南,包括安装步骤、基本...
通过学习和研究这些源代码,开发者可以更深入地理解如何将Vue.js与ant-design-vue结合,以实现一个完整的后台管理系统模板。这不仅对初学者是一次宝贵的实践机会,对有经验的开发者来说也是巩固和扩展技能的好途径。
Ant Design Vue,简称Antdv,是Ant Design设计语言的Vue实现,它提供了一系列高质量的UI组件,帮助开发者快速构建美观的企业级应用。Ant Design Vue的设计理念注重实用性和一致性,使得开发者可以方便地集成到项目中...
Vue3 是 Vue.js 的最新版本,提供了许多性能优化和新特性,而 Ant Design Vue 是一套基于 Vue2 和 Ant Design 设计规范的组件库,但在 Vue3 的支持下,它能够帮助开发者快速构建美观的用户界面。 **Vue3 知识点:**...
【Vue.js】 ...开发者和学习者可以从中学习到Vue.js的组件化开发、Ant Design Vue的UI设计、以及如何构建一套功能完善的后台管理系统。同时,源码的提供有助于深入研究和自定义项目,满足不同场景的需求。
在本项目中,我们探索了如何使用最新技术栈进行全栈开发,重点是前端的Vite3、Vue3、TypeScript以及Ant Design Vue3的整合,同时涉及后端的SpringBoot、MybatisPlus和MySQL。这是一个全面的实战教程,旨在帮助开发者...
Ant Design Vue Jeecg 是一个基于 Vue.js 和 Ant Design Vue 的强大前端框架,用于快速构建企业级中后台应用。这个项目代码库,"ant-design-vue-jeecg-master.zip",提供了完整的前端开发资源,适合开发者们学习和...
压缩包中的"demo1"可能是一个示例项目或者一个演示应用,它通常包含了Ant Design Pro的基本用法和配置,帮助开发者快速上手。通过研究和运行这个示例,我们可以学习如何设置项目结构,如何导入和使用组件,以及如何...
总的来说,"ant-design-pro.zip" 包含了一个使用React.js和Ant Design Pro构建的前端项目,涵盖了前端开发的多个方面,如UI设计、状态管理、模块打包和测试等,对前端开发者来说,这是一个深入了解和学习现代前端...