ant 构建_有用的Ant构建标签

ant 构建

问题:

如何在ant文件中执行以下任务?

  1. 制作zip文件。
  2. 运行命令。
  3. 将文件复制到远程计算机。
  4. 在远程Linux机器上运行命令。
  5. 打开输入框并响应输入值。
  6. 拨打蚂蚁电话。

答案:

1.制作zip文件:

以下是在ant中制作zip文件的xml:

<zip destfile='${destination.folder}/zipName.zip'><fileset dir= '${Source.folder}' />
</zip>

在此,“ destfile”是创建的zip文件的名称和位置。 在文件集标记中,dir属性用于指定将压缩所有文件的源文件夹格式。

2.运行命令:

在这里,我将向您展示如何在ant文件中启动tomcat,以演示如何在ant中运行命令。 以下是为此的xml:

<exec dir='${tomcat.home}/bin' executable='cmd' os='Windows XP'><arg line='/c startup.bat'/>
</exec>

这里的“ $ {tomcat.home}”是tomcat文件夹的路径。 该命令在“ line”属性的“ <arg>”标签中给出。

注意:要运行以下命令,您将需要JSCH jar 。

3.将文件复制到远程计算机:

如果远程计算机位于您的局域网中,并且您可以直接以\\ remote_machine \ path对其进行访问,则可以使用简单的复制命令,如下所示:

<copy file='${source.folder.file} ' todir='\\remote\path'>
</copy>

要在支持SCP的远程计算机上复制文件,请使用以下标记:

<scp file='${source.folder.file} ' todir='${remote.user}@${remote.host}:${remote.path.where.to.do.copy}'password='${remote.password}' trust='true'>
</scp>

在以上两个命令中,“文件”是要复制其路径的源文件。 “ todir”是要在其中复制文件的远程计算机文件夹路径。

4.在远程计算机上运行命令:

您可以使用以下标记在远程Linux计算机上执行命令。

<sshexec host='${remote.host}' username='${remote.username}' password='${remote.password}'command='${command.to.run}' trust='true' />

例如,要启动tomcat,请使用以下标记:

<sshexec host='${remote.host}' username='${remote.user}' password='${remote.password}'command='sh ${tomcat.home}/startup.sh' trust='true' />

5.打开一个输入框并响应输入值

要打开输入对话框,请使用以下标记:

<input message='Enter id: ' addproperty='my.id'>
</input>

“ addproperty”中的“ my.id”是保存输入值的变量名。 现在检查用户是否拒绝在输入中输入值:

<condition property='do.abort'><equals arg1='n' arg2='${my.id}'/>
</condition>
<fail if='do.abort'>Build aborted by user.</fail>

如果用户输入值,然后按OK,则可以将输入的值称为“ $ {my.id}”。

6.拨打蚂蚁电话

<antcall target='targetName'>
</antcall>

这里的“目标”是将要执行的目标的名称。

注意:在以上示例中,所有以“ $ {”开头和以“}”结尾的值都是变量,您可能必须在其中输入适当的值才能成功运行它们。

参考: harryjoy博客上来自JCG合作伙伴 Harsh Raval的有用的Ant构建标签 。


翻译自: https://www.javacodegeeks.com/2012/09/useful-ant-build-tags.html

ant 构建

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/352114.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++文件交互(txt、excel)

前些天完成了计算机视觉大作业&#xff0c;《基于双目立体视觉的深度图像生成》&#xff0c;虽然刚开始觉得作业很难&#xff0c;也没找到现成的程序&#xff0c;但做到最后还是学到很多知识&#xff0c;get到很多技能&#xff0c;现在一一总结下来。 1、C输出数据到txt 包含…

基类数组存放派生类_永远不要将派生类数组赋值给基类类型指针

C.152: Never assign a pointer to an array of derived class objects to a pointer to its baseC.152:永远不要将派生类数组的指针赋值给基类指针Reason(原因)Subscripting the resulting base pointer will lead to invalid object access and probably to memory corruptio…

路由器和网关的区别?

1&#xff0e;网关实质上是一个网络通向其他网络的IP地址。比如有网络A和网络B&#xff0c;网络A的IP地址范围为“192.168.1.1~192. 168.1.254”&#xff0c;子网掩码为255.255.255.0&#xff1b;网络B的IP地址范围为“192.168.2.1~192.168.2.254”&#xff0c;子网掩码为255.2…

C++error:找不到指定文件

做作业遇到这样的问题&#xff1a;新建了一个C工程&#xff0c;在内部新建了a.cpp a.h文件&#xff0c;将另一个工程里面的内容复制了过来&#xff0c;但是运行显示“找不到指定文件”&#xff0c;找了一下&#xff0c;发现虽然我的项目源文件里包换这个cpp文件&#xff0c;但是…

MVC 1.0的可能方法

如《 Java EE 8积极路线图》中所述&#xff0c;Java EE 8计划中未包含MVC 1.0。 我的看法以及在JavaOne期间与我交谈过的几个人的指示&#xff0c;这样做的可能结果是&#xff1a; MVC已完全删除 MVC继续并包含在Java EE 8&#xff08;JSR 366&#xff09;中 MVC继续作为Ja…

ES2015 中的函数式Mixin

原文链接&#xff1a;http://raganwald.com/2015/06/17/functional-mixins.html 在“原型即对象”中&#xff0c;我们看到可以对原型使用 Object.assign 来模拟 mixin&#xff0c;原型是 JavaScript 中类概念的基石。现在我们将回顾这个概念&#xff0c;并进一步探究如何将功能…

spring中的设计模式_面试:设计模式在spring中的应用

设计模式为我们解决一类问题提供了最佳的解决方案&#xff0c;我们在实际工作其实不太常用到&#xff0c;以至于会经常想不到设计模式。究其原因都是我们只是在使用别人框架的缘故&#xff0c;在这些框架的代码中经常能看到设计模式的影子&#xff0c;我们以spring为例&#xf…

linux route命令的使用详解

route命令用于显示和操作IP路由表。要实现两个不同的子网之间的通信&#xff0c;需要一台连接两个网络的路由器&#xff0c;或者同时位于两个网络的网关来实现。在Linux系统中&#xff0c;设置路由通常是 为了解决以下问题&#xff1a;该Linux系统在一个局域网中&#xff0c;局…

C如何将二维数组作为返回值

做大作业遇到这样一个问题&#xff1a;在子函数里申请了一个二维数组&#xff0c;在主函数里要用到二维数组里的数据&#xff0c;但是在主函数里又不能提前申请&#xff08;因为不知道数组长度&#xff09;&#xff0c;所以需要将数组return得到。 子函数&#xff1a; float **…

Spring的IOC底层实现

IOC的底层实现 续图&#xff1a; 转载于:https://www.cnblogs.com/phyger/p/10027712.html

python传文件给java_python使用简单http协议来传送文件

python使用简单http协议来传送文件&#xff01;在ubuntu环境下&#xff0c;局域网内可以使用nc来传送文件&#xff0c;也可以使用基于Http协议的方式来下载文件我们可以使用python -m SimpleHTTPServer ${port}来启动服务默认的端口是8000&#xff0c;另外我们也可以指定端口&a…

C定义全局变量

程序工程中往往遇到这样的问题&#xff1a;某个变量是贯穿始终的&#xff0c;主函数以及不同的子函数都要用到这个变量&#xff0c;并且要调用子函数改变变量的值。这时候全局变量就起到一个桥梁作用&#xff0c;在函数外定义&#xff0c;在主函数中调用定义&#xff0c;在子函…

tensorflow(centos 7.0 64)安装

tensorflow安装 系统centos 7.0 64位&#xff1a; python版本&#xff1a;(注意tensorflow目前只支持python2.7版本) 安装pip yum update -y && yum install -y python python-devel epel-release.noarch python-pip 使用pip安装tensorflow pip install https://storag…

午餐前如何安装OpenStack Cloud

图1. QuickStart的内部工作原理 云安装程序 如果我告诉您可以在必须停下来吃午餐之前进行OpenStack Cloud环境设置&#xff0c;该怎么办&#xff1f; 您会感到惊讶吗&#xff1f; 你今天可以做吗&#xff1f; 在大多数情况下&#xff0c;我敢打赌您的答案是不可能的&#…

实现多线程的方式之实现Callable接口

package com.hls.juc;import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurrent.FutureTask;/** * 创建多线程的方式 : 4种 * 1.继承Thread类 * 2.实现Runable接口 * 3.实现Callable接口 * 4.使用线程池创建线程 * *…

b 树查找时间复杂度_你心里是没点B树吗?

点击上方“零一视界”&#xff0c;选择“星标”公众号资源干货&#xff0c;第一时间送达1 引言数据库的增删改查等操作是开发过程中最为常见也是尤为重要的&#xff0c;尤其是现在大数据的兴起&#xff0c;导致数据存储量急剧增加&#xff0c;提升数据的操作效率就变得尤为关键…

Opencv imshow显示不出来图片

VSOPENCV处理图像时&#xff0c;imshow显示图片一片灰色&#xff0c;刚开始以为图片太大一直加载不出来&#xff0c;但是一直等不到显示出来&#xff0c;最后发现是因为最后忘记写 cvWaitKey(0);//或者waitKey(0);

vue 2个方法先后执行_有效快速制作工资条的2个方法

发工资是每个月员工们最期待的事情&#xff0c;但是对于HR来说却是非常头痛的工作。如何快速制作工资条&#xff1f;相信很多HR朋友们都很想知道&#xff0c;那么今天本文就和大家分享2个制作工资条的高效方法。 第一种&#xff1a;传统方式&#xff08;Excel制作&#xff09;制…

Opencv图像保存到电脑及显示

针对两种类型的图片有两种不同的方法&#xff1a; 1、对于Mat类型图像&#xff0c;用imwrite、imshow Mat img_goodmatch; imwrite("最终匹配结果.bmp", img_goodmatch); //“”里面为路径及图片名&#xff0c;可以改为绝对路径 …

机器学习算法库scikit-learn的安装

scikit-learn 是一个python实现的免费开源的机器学习算法包&#xff0c;从字面意思可知&#xff0c;science 代表科学&#xff0c;kit代表工具箱&#xff0c;直接翻译过来就是用于机器学习的科学计算包。 安装scikit-learn有两种方式&#xff1a; &#xff08;1&#xff09;安装…